`
sineat
  • 浏览: 20264 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

JAVA中日志-log4j简单应用

阅读更多

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

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. 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,内容:

java 代码
  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.   
  33. ### log just the SQL   
  34. #log4j.logger.net.sf.hibernate.SQL=debug   
  35.   
  36. ### log JDBC bind parameters ###   
  37. log4j.logger.net.sf.hibernate.type=info   
  38.   
  39. ### log schema export/update ###   
  40. log4j.logger.net.sf.hibernate.tool.hbm2ddl=debug   
  41.   
  42. ### log cache activity ###   
  43. #log4j.logger.net.sf.hibernate.cache=debug   
  44.   
  45. ### enable the following line if you want to track down connection ###   
  46. ### leakages when using DriverManagerConnectionProvider ###   
  47. #log4j.logger.net.sf.hibernate.connection.DriverManagerConnectionProvider=trace   
  48.   
  49. #log4j.appender.SOCKET=org.apache.log4j.RollingFileAppender   
  50. #log4j.appender.SOCKET.RemoteHost=localhost   
  51. #log4j.appender.SOCKET.Port=5001  
  52. #log4j.appender.SOCKET.LocationInfo=true  
  53. # Set up for Log Facter 5  
  54. #log4j.appender.SOCKET.layout=org.apache.log4j.PatternLayout   
  55. #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
  日志输出时日期的风格之类的,通常我不改,其它还有一些属性设置,网上有很多文章介绍,此处以高效,简洁,共享为宗旨,相信该文值得再次参考。

分享到:
评论

相关推荐

    log4J-1.2.17.zip

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

    Java 标准日志工具 Log4j 的使用示例源代码

    《Java 标准日志工具 Log4j 的使用(附源代码)》博客示例源代码。博客链接地址:http://blog.csdn.net/defonds/archive/2010/01/18/5208891.aspx。

    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...

    apache-log4cxx-0.10.0.tar.gz

    Log4cxx是Apache开源日志项目中的C++版本,Apache的开源日志项目移植于Java社区著名的Log4j,后来经过代码移植,现已有.NET、C++和PHP版本的日志库了。在很多的应用程序中,日志的使用非常的普遍

    使用Log4j进行日志操作

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

    java日志操作之Log4j

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

    log4j的基础知识

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

    jcl-over-slf4j-1.7.25.jar 由于下载次数较多,所需积分上去了,我已下调

    java 界里有许多实现日志功能的工具,最早得到广泛使用的是 log4j,许多应用程序的日志部分都交给了 log4j,不过作为组件开发者,他们希望自己的组件不要紧紧依赖某一个工具,毕竟在同一个时候还有很多其他很多日志...

    记录日志工具包log4j.jar

    专门用来记录日志的开源工具包 log4j.jar

    jjava日志文件log4j

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

    log4j配置过程及配置讲解

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

    java-property-file-and-log4j-logging-examples:使用log4j的Java属性文件示例和日志记录示例

    java-property-file-and-log4j-记录示例 用于读取.properties文件的可插拔Java Web应用程序插件 项目1:读取属性文件 建议不要在.java文件中存储服务器配置,例如数据库用户名,数据库密码,数据库IP地址,其他服务...

    java log4j配置大全

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

    Log4J应用技术.PPT

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

    SLF4J全称为Simple Logging Facade for Java (简单日志门面),作为各种日志框架的简单门面或者抽

    slf4j-log4j12-1.7.32.jar:用于绑定 1.2版的log4j , 这是一个广泛使用的日志系统,当然你还要把log4j包加到classpath中slf4j-jdk14-1.7.32.jar:用于绑定 java.util.logging, 作为JDK 1.4 的loggingslf4j-simple-...

    log4j-1.2.16.zip

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

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

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

    日志管理Log4j学习笔记

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

    log4j-core.jar的日志核心包

    log4j-core.jar是Apache Log4j的核心日志包之一,它提供了日志记录的核心功能,可以帮助开发人员在应用程序中实现灵活、高效的日志记录。以下是log4j-core.jar的详细介绍: 1.日志级别:log4j-core.jar支持多种日志...

    Java应用日志框架TNT4J.zip

    TNT4J是一个改进Log4J新的开源Java应用日志框架。用于应用程序活动的跟踪、相关性检查、诊断,可以跨多个应用程序,运行时,服务器,地理的位置。这个API是专门用以解决分布式,并发,多线程,多用户应用,包括活动...

Global site tag (gtag.js) - Google Analytics