`
xiangxingchina
  • 浏览: 506230 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java中log4j简单应用

 
阅读更多

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

 

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

 
 

 

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

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


  4:log4j.appender.R.layout.ConversionPattern=[%-d{yyyy-MM-dd HH:mm:ss}] %p %t %c - %m%n
  日志输出时日期的风格之类的,通常我不改,其它还有一些属性设置,网上有很多文章介绍,此处以高效,简洁,共享为宗旨,相信该文值得再次参考。

分享到:
评论

相关推荐

    JavaLog4j应用

    主要讲述JAva打印的引用,主要是JAVALog4应用和配置。。。

    java log4j配置大全

    Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式...

    log4j日志驱动包

    log4j.appender.ROLLING_FILE.File=rolling.log //文件位置,也可以用变量${java.home}、rolling.log log4j.appender.ROLLING_FILE.Append=true //true:添加 false:覆盖 log4j.appender.ROLLING_FILE.MaxFileSize=10...

    log4j实用配置扩展

    主要讲述log4j的简介,以及log4j的配置和在实际应用的使用。如果您不知道如何配置log4j,那么这本书将对您有很大的帮助。

    java操作log4j

    java 操作log4j经过自己测试.对开发应用使用.可帮助开发人员快速理解log4j

    log4j java开发应用说明

    java开发,log4j应用在应用程序中能够更好的监控程序的运行状态

    Log4J应用技术.PPT

    Java平台中实现日志记录的各种API简介 (1)标准的Servlet API中所提供的日志记录API 在ServletContext 接口中声明了两个log方法 log( java.lang.String ) log(java.lang.Throwable, java.lang.String )。 问题 ...

    log4J-1.2.17.zip

    在强调可重用组件开发的今天,除了自己从头到尾开发一个可重用的日志操作类外,Apache为我们提供了一个强有力的日志操作包-Log4j。 Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的...

    java log4j 应用

    log4j 真的很强大,自己不才,参考了高人们的代码,自己也写了一个,希望能为用的上的兄弟姐妹们尽绵薄之力

    log4j的基础知识

     此外,通过Log4j其他语言接口,您可以在C、C++、.Net、PL/SQL程序中使用Log4j,其语法和用法与在Java程序中一样,使得多语言分布式系统得到一个统一一致的日志组件模块。而且,通过使用各种第三方扩展,您可以很...

    log4j-1.2.16.zip

    java 日志log4j加载 Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件,甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条...

    详解Java中log4j.properties配置与加载应用

    主要介绍了 log4j.properties配置与加载应用的相关资料,需要的朋友可以参考下

    log4j配置过程及配置讲解

     此外,通过Log4j其他语言接口,您可以在C、C++、.Net、PL/SQL程序中使用Log4j,其语法和用法与在Java程序中一样,使得多语言分布式系统得到一个统一一致的日志组件模块。而且,通过使用各种第三方扩展,您可以很...

    java应用使用log4j将日志发送到Kafka

    java应用使用log4j将日志发送到Kafka

    log4j与log4j.properties的配置.doc

    log4j 常见配置属性 包含xml及properties两种形式。java代码如何使用log4j

    Log4j的相关资料

    Log4j的相关资料 其中包括个人积累收集的: Log4j简明手册 log4j使用大全 深入学习log4j 关于Log4j比较全面的配置 Java logging API如何与log4j较量 在Java应用软件中加入logging 等许多...

    使用Log4j进行日志操作

    作者试图通过一个简单的客户/服务器Java程序例子对比使用与不使用Log4j 1.2.3的差别,并详细讲解了在实践中最常使用Log4j的方法和步骤。在强调可重用组件开发的今天,相信Log4j将会给广大的设计开发人员带来方便。...

    log4j.properties配置详解.doc

    作为Apache的开源项目,Log4j可以使我们很好的控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、 UNIX Syslog守护进程等;也可以方便的使我们控制每一条日志的输出格式;通过...

    log4j JAVA包

    log4j日志包,在JAVA里应用日志非常方便

    log4j 说明文档

    Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式...

Global site tag (gtag.js) - Google Analytics