Log4j配置详解

先看Log4j的配置文件如下: 

Java代码    收藏代码
  1. #Log4J配置文件实现了输出到控制台、文件、回滚文件、自定义标签,数据库等功能。仅供参考。  
  2. log4j.rootLogger=DEBUG,CONSOLE,FILE,DLOGFILE,ROLLING_FILE,MYSQL_LOG  
  3. log4j.addivity.org.apache=true  
  4.   
  5. #应用于控制台  
  6. log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender  
  7. log4j.appender.CONSOLE.Threshold=DEBUG  
  8. log4j.appender.CONSOLE.Target=System.out  
  9. log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout  
  10. log4j.appender.CONSOLE.layout.ConversionPattern=%d{yyyyMMdd-HH:mm:ss} %t %c %m%n  
  11.   
  12. #应用于文件  
  13. log4j.appender.FILE=org.apache.log4j.FileAppender  
  14. log4j.appender.FILE.File=d:\\file.log  
  15. log4j.appender.FILE.Append=false  
  16. log4j.appender.FILE.layout=org.apache.log4j.PatternLayout  
  17. log4j.appender.FILE.layout.ConversionPattern=%d{yyyyMMdd-HH:mm:ss} %t %c %m%n  
  18.   
  19. #应用于按日期生成文件  
  20. log4j.appender.DLOGFILE=org.apache.log4j.DailyRollingFileAppender  
  21. log4j.appender.DLOGFILE.File=d:\\test.log  
  22. log4j.appender.DLOGFILE.Threshold=INFO  
  23. log4j.appender.DLOGFILE.DatePattern='.'yyyy-MM-dd  
  24. log4j.appender.DLOGFILE.layout=org.apache.log4j.PatternLayout  
  25. log4j.appender.DLOGFILE.layout.ConversionPattern=%d{yyyyMMdd-HH:mm:ss} %t %c %m%n  
  26.   
  27. #应用于文件回滚  
  28. log4j.appender.ROLLING_FILE=org.apache.log4j.RollingFileAppender  
  29. log4j.appender.ROLLING_FILE.Threshold=INFO  
  30. log4j.appender.ROLLING_FILE.File=d:\\rolling.log  
  31. log4j.appender.ROLLING_FILE.Append=true  
  32. log4j.appender.ROLLING_FILE.MaxFileSize=1KB  
  33. log4j.appender.ROLLING_FILE.MaxBackupIndex=1  
  34. log4j.appender.ROLLING_FILE.layout=org.apache.log4j.PatternLayout  
  35. log4j.appender.ROLLING_FILE.layout.ConversionPattern=%d{yyyyMMdd-HH:mm:ss} %t %c %m%n  
  36.   
  37. # 数据库输出  
  38. log4j.appender.MYSQL_LOG=org.apache.log4j.jdbc.JDBCAppender  
  39. log4j.appender.MYSQL_LOG.driver=com.mysql.jdbc.Driver  
  40. log4j.appender.MYSQL_LOG.URL=jdbc:mysql://127.0.0.1:3306/txl  
  41. log4j.appender.MYSQL_LOG.Threshold=ERROR  
  42. log4j.appender.MYSQL_LOG.user=root  
  43. log4j.appender.MYSQL_LOG.password=  
  44. log4j.appender.MYSQL_LOG.sql=insert into log_monitor(level,category,thread,time,location,note) values('%p','%c','%t','%d{yyyy-MM-dd HH:mm:ss:SSS}','%l','%m')  
  45. log4j.appender.MYSQL_LOG.layout=org.apache.log4j.PatternLayout  
  46. #虽然以上布局 没啥效果,但是可以减少告警提示  
  47.   
  48. #自定义Appender ,输出到任意地方  


如果使用数据库,请添加数据库驱动,我感觉把日志输出到数据库挺好的,毕竟数据库中的数据不管是搜索,还是统计分析都比文件容易。 
数据表创建代码如下: 

Java代码    收藏代码
  1. CREATE TABLE `log_icecoldmonitor` (  
  2.   `Id` int(11) NOT NULL AUTO_INCREMENT,  
  3.   `level` varchar(255) NOT NULL DEFAULT '' COMMENT '优先级',  
  4.   `category` varchar(255) NOT NULL DEFAULT '' COMMENT '类目',  
  5.   `thread` varchar(255) NOT NULL DEFAULT '' COMMENT '进程',  
  6.   `time` varchar(30) NOT NULL DEFAULT '' COMMENT '时间',  
  7.   `location` varchar(255) NOT NULL DEFAULT '' COMMENT '位置',  
  8.   `note` text COMMENT '日志信息',  
  9.   PRIMARY KEY (`Id`)  
  10. )  


如果是这样就可以果断管理程序的运行情况,比如你可以查看正在运行的服务器有多少服务是调用超时的,出错信息是什么等等,开发阶段,你还可以记录debug日志,不用每次运行都需要到服务器查看日志文件.而且日志文件数据多,打开慢,浪费时间.

你可能感兴趣的:(Log4j配置详解)