幽灵学院 - 菜鸟起航从这里开始!

幽灵学院 - 中国最权威的网络安全门户网站!

当前位置: > 系统 > Linux >

log4j--分包输出日志

最近由于业务上出现一些莫名其妙的误删除数据,今天研究了下log4j分包输出,想用log4j来记录具体哪些数据被误删除了。具体做法是:新建一个包,然后再包下建一个新class,然后在class里面记录被删除的数据,在lo...

最近由于业务上出现一些莫名其妙的误删除数据,,今天研究了下log4j分包输出,想用log4j来记录具体哪些数据被误删除了。

具体做法是:新建一个包,然后再包下建一个新class,然后在class里面记录被删除的数据,在log4j.xml里配置指向此新包的输出文件。


在test工程下实验了一下:

log4j.xml:

[html] 
<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> 
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false"> 
 
    <appender name="Console" class="org.apache.log4j.ConsoleAppender"> 
        <layout class="org.apache.log4j.PatternLayout"> 
            <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss.SSS} %-5p [%t]  %c{1} : %L - %m%n"/> 
    </layout>      
    </appender> 
     
    <appender name="File" class="org.apache.log4j.RollingFileAppender"> 
        <param name="File" value="D:/log4j/test.log"/> 
        <param name="MaxFileSize" value="1MB"/> 
        <param name="MaxBackupIndex" value="10"/> 
        <param name="Append" value="true" /> 
        <layout class="org.apache.log4j.PatternLayout"> 
            <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss.SSS} %-5p [%t] %c{1} - %m%n"/> 
        </layout> 
    </appender> 
     
    <appender name="File1" class="org.apache.log4j.RollingFileAppender"> 
        <param name="File" value="D:/log4j/test1.log"/> 
        <param name="MaxFileSize" value="1MB"/> 
        <param name="MaxBackupIndex" value="10"/> 
        <param name="Append" value="true" /> 
        <layout class="org.apache.log4j.PatternLayout"> 
            <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss.SSS} %-5p [%t] %c{1} - %m%n"/> 
        </layout> 
    </appender> 
 
  <logger name="org"> 
    <level value="WARN"/> 
  </logger> 
  <logger name="org.apache"> 
    <level value="WARN"/> 
  </logger> 
  <logger name="com.zznode.log"> 
    <level value="DEBUG"/>   
  </logger> 
  <logger name="com.zznode.test"> 
    <level value="DEBUG"/> 
    <appender-ref ref="File1" /> 
  </logger> 
  <logger name="rule"> 
    <level value="INFO"/> 
  </logger> 
  <logger name="org.springframework.jdbc.core"> 
    <level value="info"/> 
  </logger> 
   
    <root> 
        <level value ="DEBUG" /> 
        <appender-ref ref="Console" /> 
        <appender-ref ref="File" /> 
    </root> 
 
</log4j:configuration> 

Main方法:

[java] 
package com.zznode.log; 
 
import org.apache.log4j.Logger; 
import org.apache.log4j.PropertyConfigurator; 
import org.apache.log4j.xml.DOMConfigurator; 
 
import com.zznode.test.Test; 
 
/**
 * @desc:
 * @since Nov 8, 2012
 * @author chaisson 
 *
 * <p>
 */ 
public class Log4jApp { 
     
    public void printLog() { 
        Logger log = Logger.getLogger(Log4jApp.class.getClass()); 
        log.info("测试info"); 
        log.debug("测试debug"); 
        log.error("测试error"); 
    } 
     
     public static void main(String[] args) { 
 
           DOMConfigurator.configure("D:/workspace/Test/log4j.xml"); 
           //PropertyConfigurator.configure("D:/workspace/Test/log4j.properties");   
 
           Log4jApp app = new Log4jApp(); 
           app.printLog(); 
            
           Test test = new Test(); 
           test.printLog(); 
       } 

工程结构:

输出结果:


其中Eclipse 的Console:

(责任编辑:幽灵学院)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
用户名: 验证码: 点击我更换图片
1700055555@qq.com 工作日:9:00-21:00
周 六:9:00-18:00
  扫一扫关注幽灵学院