JAVA中日志-log4j简单应用

JAVA程序开发,经常用到日志输出,在一个所谓的软件公司里大多会有自己一套配置风格,读取配置文件再对日志属性进行初始化,这样固然好,但有时可能并不需要小题大做,然log4j这个包一定会经常用到,以下就是一个简单应用。
  前题,下载一个log4j的包,本人用log4j-1.2.9.jar。
  新建一个java项目,内容如下,根据实际需要改本地的包名和类名。 

  1. /**  
  2.  * filename   : MiProperty.java  
  3.  * Title      : 北京minstar软件工作室  
  4.  * Description: 关于log4j包的最简单应用  
  5.  * @Copyright  : Copyright (c) 2008,北京minstar软件工作室  
  6.  * Company    : 北京minstar软件工作室  
  7.  * @author       : Zhao.Jian  
  8.  * Date          : 2007-8-16  
  9.  * @version 1.0.0.0  
  10.  * @Development Environment        :  Eclipse 3.1.0  
  11.  */  
  12. package app;   
  13. import java.io.FileInputStream;   
  14. import java.util.Properties;   
  15. import org.apache.log4j.Logger;   
  16. import org.apache.log4j.PropertyConfigurator;   
  17.   
  18.   
  19. public class logjTest {   
  20.     public static final Logger logger = Logger.getLogger(logjTest.class);   
  21.     public static void main(String args[])throws Exception{   
  22.         String configFile = "log4j.properties";    
  23.         PropertyConfigurator.configure(configFile);    
  24.         logger.info("测试log4j之包的使用!");      
  25.         Properties perties = new Properties();   
  26.         FileInputStream fis = new FileInputStream(configFile);   
  27.         perties.load(fis);   
  28.         String str=perties.getProperty("log4j.rootLogger");   
  29.         logger.info("测试获取key值,如log4j.rootLogger="+str);        
  30.     }   
  31. }

属性文件名:log4j.properties,内容:

  1. ### direct log messages to stdout ###   
  2.  
  3. log4j.appender.stdout=org.apache.log4j.ConsoleAppender   
  4. #log4j.appender.stdout.Target=System.out   
  5. log4j.appender.stdout.layout=org.apache.log4j.PatternLayout   
  6. #log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n   
  7. #%d{ABSOLUTE} %5p %c{1}:%L - %m%n   
  8. log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n   
  9.   
  10.   
  11. ### direct messages to file hibernate.log ###   
  12. #log4j.appender.file=org.apache.log4j.FileAppender   
  13. #log4j.appender.file.File=hibernate.log   
  14. #log4j.appender.file.layout=org.apache.log4j.PatternLayout   
  15. #log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n   
  16.   
  17. ### set log levels - for more verbose logging change 'info' to 'debug' ###   
  18.   
  19. log4j.rootLogger=debug,R,stdout   
  20. #####log4j.logger.net.sf.hibernate=info   
  21.   
  22. ####????   
  23. log4j.appender.R=org.apache.log4j.RollingFileAppender   
  24. log4j.appender.R.File=logs/logtest.log   
  25. log4j.appender.R.MaxFileSize=1000KB   
  26. log4j.appender.R.MaxBackupIndex=5  
  27. log4j.appender.R.layout=org.apache.log4j.PatternLayout   
  28. log4j.appender.stdout.layout.ConversionPattern=%d [%p] %c -%m%n   
  29. #log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n   
  30. log4j.appender.R.layout.ConversionPattern=[%-d{yyyy-MM-dd HH:mm:ss}] %p %t %c - %m%n   
  31.   
  32.   
  33.   
  34. ### log just the SQL   
  35. #log4j.logger.net.sf.hibernate.SQL=debug   
  36.   
  37. ### log JDBC bind parameters ###   
  38. log4j.logger.net.sf.hibernate.type=info   
  39.   
  40. ### log schema export/update ###   
  41. log4j.logger.net.sf.hibernate.tool.hbm2ddl=debug   
  42.   
  43. ### log cache activity ###   
  44. #log4j.logger.net.sf.hibernate.cache=debug   
  45.   
  46. ### enable the following line if you want to track down connection ###   
  47. ### leakages when using DriverManagerConnectionProvider ###   
  48. #log4j.logger.net.sf.hibernate.connection.DriverManagerConnectionProvider=trace   
  49.   
  50. #log4j.appender.SOCKET=org.apache.log4j.RollingFileAppender   
  51. #log4j.appender.SOCKET.RemoteHost=localhost   
  52. #log4j.appender.SOCKET.Port=5001  
  53. #log4j.appender.SOCKET.LocationInfo=true  
  54. # Set up for Log Facter 5  
  55. #log4j.appender.SOCKET.layout=org.apache.log4j.PatternLayout   
  56. #log4j.appender.SOCET.layout.ConversionPattern=[start]%d{DATE}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD]%n%c[CATEGORY]%n%m[MESSAGE]%n%n

log4j.properties中几处值得关注。
  <1>:log4j.appender.R.File=logs/logtest.log
  日志输出路径及命名,以下为相对路径法,根据实际情况改之。
  <2>:log4j.appender.R.MaxFileSize=1000KB
  每个日志文件大小。
  <3>:log4j.appender.R.MaxBackupIndex=5
  每生成多少个日志滚动,会生成一些logtest.log1, logtest.log2,但不会有logtest.log6,如果配置成10,不会有logtest.log11。
  <3>:log4j.appender.R.layout.ConversionPattern=[%-d{yyyy-MM-dd HH:mm:ss}] %p %t %c - %m%n
  日志输出时日期的风格之类的,通常我不改,其它还有一些属性设置,网上有很多文章介绍,此处以高效,简洁,共享为宗旨,相信该文值得再次参考。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值