关于Log4j

来源:互联网 发布:数据挖掘导论怎么样 编辑:程序博客网 时间:2024/05/16 06:32
Log4j是Apache的一个开源项目,通过使用Log4j可以灵活的配置和控制日志功能,将日志信息输出到控制台、文件、GUI组件、套接字服务器指定端口的服务、Windows NT的事件记录器、UNIX Syslog守护进程等,同时也可以控制每一条日志的输出格式以及日志的级别。Log4j通常由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地和日志信息的输出格式。日志信息的优先级从高到低有FATAL、ERROR、WARN、 INFO、DEBUG,分别用来指示日志信息的重要程度。

下面的配置指定将日志输出到控制台、日滚动文件和Oracle数据库中:

[plain] view plain copy
  1. log4j.rootLogger=DEBUG, A1, A2, A3  
  2.   
  3. #Console Logger  
  4. log4j.appender.A1=org.apache.log4j.ConsoleAppender  
  5. log4j.appender.A1.Threshold=INFO  
  6. log4j.appender.A1.layout=org.apache.log4j.PatternLayout  
  7. log4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%c]-[%p] %m%n  
  8.   
  9. #File Logger  
  10. log4j.appender.A2=org.apache.log4j.DailyRollingFileAppender  
  11. log4j.appender.A2.Threshold=WARN  
  12. log4j.appender.A2.File=myweb_log.txt  
  13. log4j.appender.A2.layout=org.apache.log4j.PatternLayout  
  14. log4j.appender.A2.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%n  
  15.   
  16. #Database Logger  
  17. log4j.appender.A3=org.apache.log4j.jdbc.JDBCAppender  
  18. log4j.appender.A3.Threshold=WARN  
  19. log4j.appender.A3.URL=jdbc:oracle:thin:@localhost:1521:orcl  
  20. log4j.appender.A3.driver=oracle.jdbc.driver.OracleDriver  
  21. log4j.appender.A3.user=scott    
  22. log4j.appender.A3.password=tiger  
  23. log4j.appender.A3.sql=INSERT INTO tb_log (id, msg) VALUES (seq_tb_log.nextval, '%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%n')    
  24. log4j.appender.A3.layout=org.apache.log4j.PatternLayout    
  25. log4j.appender.A3.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%n  

创建日志器对象并使用日志功能的Java代码如下所示:

[java] view plain copy
  1. import org.apache.log4j.Logger;  
  2.   
  3. public class Test04 {  
  4.   
  5.     public static void main(String[] args) {  
  6.         Logger logger = Logger.getLogger(Test04.class);  
  7.           
  8.         logger.debug("This is a test debug message!");  
  9.         logger.info("This is a test information message!");  
  10.         logger.warn("This is a test warning message!");  
  11.         logger.error("This is a test error message!");  
  12.         logger.fatal("This is a test fatal message!");  
  13.     }  
  14. }  
0 0
原创粉丝点击