log4j详细使用

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

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


log4j详细使用_第1张图片

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

log4j详细使用_第2张图片


error.log

log4j详细使用_第3张图片


info.log

log4j详细使用_第4张图片


你可能感兴趣的:(log4j详细使用)