log4j详细使用

来源:互联网 发布:正商集团怎么样知乎 编辑:程序博客网 时间:2024/06/06 10:48

1 导入commons-logging.jar和log4j-1.2.15.jar包

2 在web项目下增加l og4j.properties


3 log4j.properties的内容如下

# debug config start
log4j.rootLogger=debug,stdout,log,errorlog,debuglog

 #   degug config over
 
 
###Console ### 
log4j.appender.stdout = org.apache.log4j.ConsoleAppender 
log4j.appender.stdout.Target = System.out 
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout 
log4j.appender.stdout.layout.ConversionPattern = %d %-5p (%F\:%L) - %m  ......  %c%n
 
### Log ###   
log4j.appender.log = org.apache.log4j.DailyRollingFileAppender 
log4j.appender.log.File =log/info/info.log
log4j.appender.log.Append = true 
log4j.appender.log.Threshold = INFO 
log4j.appender.log.DatePattern='.'yyyy-MM-dd 
log4j.appender.log.layout = org.apache.log4j.PatternLayout 
log4j.appender.log.layout.ConversionPattern = %-d{yyyy-MM-dd HH\:mm\:ss} (%F\:%L) [ %t ] %m%n
### Error ### 
log4j.appender.errorlog = org.apache.log4j.DailyRollingFileAppender 
log4j.appender.errorlog.File=log/error/error.log
log4j.appender.errorlog.Append = true 
log4j.appender.errorlog.Threshold = ERROR  
log4j.appender.errorlog.DatePattern='.'yyyy-MM-dd 
log4j.appender.errorlog.layout = org.apache.log4j.PatternLayout 
log4j.appender.errorlog.layout.ConversionPattern = %-d{yyyy-MM-dd HH\:mm\:ss} (%F\:%L) [ %t ] %m%n
### DEBUG ### 
log4j.appender.debuglog = org.apache.log4j.DailyRollingFileAppender 
log4j.appender.debuglog.File=log/debug/debug.log
log4j.appender.debuglog.Append = true 
log4j.appender.debuglog.Threshold = DEBUG  
log4j.appender.debuglog.DatePattern='.'yyyy-MM-dd 
log4j.appender.debuglog.layout =org.apache.log4j.PatternLayout
log4j.appender.debuglog.layout.ConversionPattern = %-d{yyyy-MM-dd HH\:mm\:ss} (%F\:%L) [ %t ] %m%n
log4j.appender.stdout.Threshold=DEBUG

##forbidding some package output log

log4j.logger.org.apache=WARN
log4j.logger.org.apache.struts=WARN

log4j.logger.org.springframework=WARN
log4j.logger.org.springframework.beans=WARN

log4j.logger.org.hibernate=WARN

log4j.logger.org.aspectj=WARN
log4j.logger.org.displaytag=WARN
log4j.logger.com.mchange=WARN
log4j.logger.com.opensymphony.oscache=WARN

log4j.logger.com.hm.eams=INFO
log4j.logger.com.hm.eams.basic.configuration.snmp.CapSnmpTrapDaemon=info
log4j.logger.com.hm.eams.basic.configuration.snmp.CapPollDeviceStates=info

#log4j.logger.com.hm.eams.basic.configuration.snmp.SnmpData=debug
log4j.logger.com.hm.web.websocket.test=debug


 

 



4 因为 Logger每次调用前需要传入一个class参数,所以自定义MyLooger4j类,用静态工厂模式实现Logger

package Factory.Log4j;import mybatis.model.unit.ProcedureJunitTest;import org.apache.log4j.Logger;public class MyLogger4j {  private static Logger logger;  static{   System.out.println("here");   logger = Logger.getLogger(MyLogger4j.class);  }  public static void info(String info){  logger.info(info);  };  public static void error(String error){  logger.error(error);  };  public static void debug(String debug){  logger.debug(debug);  }; }

5 测试类

package mybatis.model.unit;import Factory.Log4j.MyLogger4j;public class Log4JTest {public static void main(String[] args) {MyLogger4j.debug("Log4JTest debug");MyLogger4j.error("Log4JTest error");MyLogger4j.info("Log4JTest info");}}

6 结果图

debug.log



error.log



info.log



0 0
原创粉丝点击