`
sineat
  • 浏览: 20636 次
  • 性别: 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
  日志输出时日期的风格之类的,通常我不改,其它还有一些属性设置,网上有很多文章介绍,此处以高效,简洁,共享为宗旨,相信该文值得再次参考。

分享到:
评论

相关推荐

    java-日志-log4j.7z

    Java日志库Log4j是Java开发者非常熟悉的工具,它为应用程序提供了强大的日志记录功能。Log4j是由Apache软件基金会开发的一个开源项目,广泛应用于各种Java应用中,包括大型企业级系统、Web应用程序和小型服务。这个...

    logging-log4j2-log4j-2.15.0-rc2.zip

    Log4j,作为Java领域广泛使用的日志记录框架,一直以来都是开发者们的重要工具。这次我们关注的是其最新版本——logging-log4j2-log4j-2.15.0-rc2。这个版本在安全性和性能上都做了进一步的优化和提升,旨在为开发者...

    logging-log4j2-log4j-2.16.0-rc1.zip

    它源于Log4j的JNDI(Java Naming and Directory Interface)查找功能,当恶意用户在日志记录中插入特定的字符串时,可以触发远程代码执行。这个漏洞影响了全球范围内的大量系统,因为许多应用和服务都在使用Log4j...

    spring-boot-starter-log4j2

    总之,Spring Boot Starter Log4j2使得在Spring Boot项目中集成和使用Log4j2变得简单易行。通过合理配置,我们可以实现灵活的日志管理,满足各种开发场景的需求。在实际开发中,掌握Log4j2的配置和使用,能帮助我们...

    [简单]log4jdbc-log4j2配置简记

    标题中的“log4jdbc-log4j2配置简记”指的是在Java开发中使用log4jdbc-log4j2库来监控和记录SQL查询的过程。log4jdbc是一个开源项目,它允许开发者通过日志系统来追踪数据库操作,而log4j2是log4j的升级版,提供了更...

    apache-log4j-2.17.0-bin.tar.gz

    Apache Log4j是Java平台上的一个著名日志记录框架,广泛应用于各种企业级软件系统中。这个"apache-log4j-2.17.0-bin.tar.gz"文件是一个压缩包,其中包含了Log4j 2.17.0版本的二进制文件,通常包括可执行的JAR文件和...

    logging-log4j2-log4j-2.15.0-rc2.7z

    Apache Log4j作为一个广泛应用的日志记录框架,为Java开发者提供了强大的日志处理能力。最近发布的"logging-log4j2-log4j-2.15.0-rc2.7z"是对Log4j的补丁版本,主要针对已知的安全问题和功能改进进行了更新,旨在...

    apache-log4j-2.16.0-bin.rar

    Apache Log4j2是一款广泛使用的Java日志框架,它允许应用程序记录各种运行时信息,以帮助开发者调试问题、监控系统性能以及追踪安全事件。然而,2021年底,一个严重漏洞被发现,被称为“Log4Shell”或CVE-2021-44228...

    logging-log4j2-log4j-2.15.1-rc1.zip

    Log4j,作为Apache开源组织的一个杰出项目,长期以来一直是Java应用程序首选的日志框架之一。然而,随着技术的发展,安全问题也日益凸显,Log4j 2.15.1-RC1的发布,正是针对此类问题进行的一次关键更新,旨在修复...

    ant-apache-log4j-1.6.5.jar.zip

    开发者可以通过下载这个zip文件,解压后获取到ant-apache-log4j-1.6.5.jar文件,该文件是一个Java Archive (JAR) 文件,包含了Ant和Log4j的类库,可以直接在Java项目中引用以实现构建和日志记录功能。 4. **依赖包*...

    android-logging-log4j-1.0.3.jar

    Log4j是一个广泛应用于Java环境的日志框架,而当我们谈论`android-logging-log4j-1.0.3.jar`时,它便是Log4j的一个版本,专门针对Android平台进行优化,使得在Android系统中可以方便地将日志信息写入SD卡。...

    apache-log4j-2.17.2-bin.tar

    Log4j 是 Apache 组织开发的一个广泛使用的Java日志框架,它允许开发者在应用程序中实现灵活的日志记录。此次发布的binaries版本包含了编译后的二进制文件,适用于那些不希望从源码编译但需要快速部署和更新Log4j的...

    日志-Apache-log4j2-Java-下载慢

    Log4j2作为Java日志框架的一员,提供丰富的日志级别(如DEBUG、INFO、WARN、ERROR等)和多种输出格式,满足不同场景的需求。 2. **Log4j2的特性**: - **性能提升**:Log4j2通过使用异步日志记录和零内存分配技术...

    log4j + slf4j-api + slf4j-log4j12

    **log4j**:Log4j是Apache组织开发的一个开源日志框架,广泛应用于各种Java项目中。它提供了丰富的日志级别(如DEBUG, INFO, WARN, ERROR, FATAL)和灵活的日志配置,允许我们将日志输出到控制台、文件、数据库等...

    apache-log4j-2.15.0-bin.tar.gz

    Apache Log4j 是一个广泛使用的Java日志框架,它的最新版本是2.15.0。这个框架的主要目的是提供一种灵活、高效的日志记录机制,帮助开发者在应用程序中记录、控制和调试信息。Apache官网提供的"apache-log4j-2.15.0-...

    slf4j-log4j12-1.7.7.jar下载

    总的来说,SLF4J-log4j12-1.7.7.jar在Java日志处理中扮演着关键角色,它提供了方便的日志框架切换能力和与Log4j1.2的集成,使得开发者可以灵活地管理和控制应用程序的日志输出。然而,随着技术的发展,考虑升级到更...

    logging-log4j2-log4j-2.15.0-rc1.zip

    Log4j,作为Java平台上的一个著名日志框架,因其高效、灵活的特点而广受欢迎。然而,任何软件都可能存在潜在的安全风险,Log4j也不例外。这次我们要讨论的是Log4j 2.15.0-rc1版本,这是一个针对严重安全漏洞的修复...

    apache-log4j-extras-1.0.jar

    Apache Log4j 是一个广泛使用的Java日志框架,它提供了灵活的日志记录功能,使得开发者可以在应用程序中方便地控制日志信息的输出。在给定的压缩包中,包含两个核心文件:`log4j-1.2.15.jar` 和 `apache-log4j-...

    apache-log4j-2.3-bin和commons-logging-1.2

    Apache Log4j 2.3 和 Commons Logging 1.2 是两个在Java Web开发中广泛使用的日志处理库。这两个库对于记录应用程序的运行时信息、调试错误和监控系统状态至关重要。 **Apache Log4j 2.3** Log4j 是 Apache 组织...

    slf4j-log4j12 等jar包.rar

    SLF4J(Simple Logging Facade for Java)和Log4j是Java开发中常见的日志处理框架。SLF4J提供了一个抽象层,允许开发者在运行时选择合适的日志实现,比如Log4j、Logback等。这个"slf4j-log4j12.jar"文件就是SLF4J与...

Global site tag (gtag.js) - Google Analytics