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

[集成]log4j配置指南之一

阅读更多

 

 

// 2011年4月14日 星期四 23时07分55秒

 

关键字:log4j, 配置详解

 

Log4J配置文件实现了输出到控制台,文件,回滚文件,发送日志邮件,输出到数据库日志表,自定义标签等功能。 

 

Console Appender 

 

Java代码  

 

log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender  
log4j.appender.Threshold=DEBUG  
log4j.appender.CONSOLE.Target=System.out  
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout  
log4j.appender.CONSOLE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n  
#log4j.appender.CONSOLE.layout.ConversionPattern=[start]%d{DATE}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD] n%c[CATEGORY]%n%m[MESSAGE]%n%n 

 

 

 

File Appender 

 

Java代码  

log4j.appender.FILE=org.apache.log4j.FileAppender  
#此处的文件可以写绝对路径, 也可以写相对于{CALATINE_HOME}/bin的路径
log4j.appender.FILE.File=file.log  
log4j.appender.FILE.Append=false  
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout  
log4j.appender.FILE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n 

 

# Use this layout for LogFactor 5 analysis  

 

 

Rolling File 

 

Java代码  

 

log4j.appender.ROLLING_FILE=org.apache.log4j.RollingFileAppender  
log4j.appender.ROLLING_FILE.Threshold=ERROR  
log4j.appender.ROLLING_FILE.File=rolling.log  
log4j.appender.ROLLING_FILE.Append=true  
log4j.appender.ROLLING_FILE.MaxFileSize=10KB  
log4j.appender.ROLLING_FILE.MaxBackupIndex=1  
log4j.appender.ROLLING_FILE.layout=org.apache.log4j.PatternLayout  
log4j.appender.ROLLING_FILE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n  
 

 

 

Socket Appender 

 

Java代码  

 

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
 

 

 

Log Factor 5 Appender 

 

Java代码  

 

log4j.appender.LF5_APPENDER=org.apache.log4j.lf5.LF5Appender  
log4j.appender.LF5_APPENDER.MaxNumberOfRecords=2000  
 

 

SMTP Appender 

 

Java代码  

 

log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender  
log4j.appender.MAIL.Threshold=FATAL  
log4j.appender.MAIL.BufferSize=10  
log4j.appender.MAIL.From=chenyl@hollycrm.com  
log4j.appender.MAIL.SMTPHost=mail.hollycrm.com  
log4j.appender.MAIL.Subject=Log4J Message  
log4j.appender.MAIL.To=chenyl@hollycrm.com  
log4j.appender.MAIL.layout=org.apache.log4j.PatternLayout  
log4j.appender.MAIL.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n  
 

 

 

# JDBC Appender 

 

Java代码  

 

log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender  
log4j.appender.DATABASE.URL=jdbc:mysql://localhost:3306/test  
log4j.appender.DATABASE.driver=com.mysql.jdbc.Driver  
log4j.appender.DATABASE.user=root  
log4j.appender.DATABASE.password=  
log4j.appender.DATABASE.sql=INSERT INTO LOG4J (Message) VALUES ('[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n')  
log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout  
log4j.appender.DATABASE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n  
 

 

#自定义Appender 

 

Java代码  

 

 

log4j.appender.im = net.cybercorlin.util.logger.appender.IMAppender  
  
log4j.appender.im.host = mail.cybercorlin.net  
log4j.appender.im.username = username  
log4j.appender.im.password = password  
log4j.appender.im.recipient = corlin@cybercorlin.net  
  
log4j.appender.im.layout=org.apache.log4j.PatternLayout  
log4j.appender.im.layout.ConversionPattern =[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n  
 

# 配置logger

 

Java代码  

 

 

log4j.rootLogger=DEBUG,CONSOLE,A1,im  
log4j.com.test=debug,console,A1
#DEBUG,CONSOLE,FILE,ROLLING_FILE,MAIL,DATABASE    
log4j.addivity.org.apache=true  
 

 

# Layout ConversionPattern 输出参数

 

都以%开始后面不同的参数代表不同的格式化信息(参数按字母表顺序列出):

%c     输出所属类的全名,可在修改为 %d{Num} ,Num类名输出的范围  如:"org.apache.xyz.SomeClass", %C{2}将输出xyz.SomeClass

%d     输出日志时间其格式为 %d{yyyy-MM-dd HH:mm:ss,SSS},可指定格式 如 %d{HH:mm:ss}

%l     输出日志事件发生位置,包括类目名、发生线程,在代码中的行数

%n     换行符

%m     输出代码指定信息,如info(“message”),输出message

%p     输出优先级,即 FATAL ,ERROR 等

%r     输出从启动到显示该log信息所耗费的毫秒数

%t     输出产生该日志事件的线程名

 

# 针对如何生成以时间为文件名的日志

 

 

log4j.appender.dailyFile.layout.ConversionPattern=%d{M/d/yyyy HH:mm} %c %p - %m%n
log4j.appender.dailyFile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.dailyFile.DatePattern='.'yyyy-MM-dd
log4j.appender.dailyFile.layout=org.apache.log4j.PatternLayout
 

# 上面方法还是有些问题

 

log4j暂时没有提供这种功能,因为这只是记录日志,不需要的特殊的文件名吧。

也可以通过该源码或扩展源码的方式修改。

改源码:Log4j的org.apache.log4j.DailyRollingFileAppender源码223行

scheduledFilename = fileName+sdf.format(new Date(file.lastModified()));

即随便自己弄什么名称。看到这里你因该清除为什么不可配置了吧

扩展源码:自己写个appender类,继承org.apache.log4j.DailyRollingFileAppender覆盖要修改的方法,简单拷贝过来,修改下就行了。然后配置的时候别忘记了写上自己的appender类全名。


 

分享到:
评论

相关推荐

    Log4j配置指南

    在本文中,我们将深入探讨Log4j配置的关键方面,以及如何有效地利用这个工具来优化您的开发工作流程。 1. 日志配置要素 - **配置文件**: Log4j的配置通常通过一个配置文件完成,如`log4j.properties`或`log4j.xml`...

    log4j2用户指南

    Appender 是 Log4j2 中的核心组件之一,负责将日志事件输出到不同的目的地: - **Console Appender**:输出到控制台。 - **File Appender**:将日志记录写入文件。 - **DB Appender**:记录到数据库。 - **SMTP ...

    WebSphere V5 配置log4j

    `WSAD5.1配置log4j.txt`文件可能包含了具体的配置指南,读者可以参考这个文本文件进行操作。 总的来说,正确配置log4j对于WebSphere V5环境下的应用监控和问题排查至关重要。同时,结合iBATIS的SQL日志输出,可以...

    log4j所需jar包

    这个压缩包提供的资源对于Java开发者来说非常有价值,它包含了在项目中集成log4j所需的基础文件和可能的操作指南。正确配置和使用log4j可以帮助提升代码的可读性和维护性,同时便于排查问题。通过深入理解和实践,...

    log4j所依赖jar包

    Log4j是一个广泛使用的Java日志框架,由Apache软件基金会开发。它为应用程序提供了一种灵活的日志记录机制,使得开发者能够控制日志信息的输出格式、级别以及目的地。在Java应用程序中,日志功能是必不可少的,因为...

    apache-log4j-2.14.0-bin.zip

    总的来说,Apache Log4j 2.14.0是一个强大的日志工具,它提供了丰富的配置选项,能够满足不同项目的需求。与Spring 5的结合使得在现代Java应用中集成日志变得简单高效。正确配置和使用Log4j 2,可以帮助开发者更好地...

    (zt)Commons-logging + Log4j 入门指南

    2. 配置Log4j:在项目根目录下创建一个名为`log4j.properties`的文件,定义日志输出级别和目标。例如: ``` log4j.rootLogger=DEBUG, FILE log4j.appender.FILE=org.apache.log4j.DailyRollingFileAppender log4...

    Kafka+Log4j实现日志集中管理

    可能包含了项目相关的示例图片、说明文档和链接,如"www.Linuxidc.com.jpg"可能是展示Kafka或Log4j配置的截图,"教程重要说明及更新链接点击这个文本.txt"可能是关于如何使用这些工具的详细指南,"Linux公社...

    log4j包的使用说明及api帮助文档

    `3.log4j日志包的用法.docx`可能是一份关于如何在项目中使用log4j的指南,包括配置和代码示例。`log4j包的使用说明及api帮助文档`可能是更全面的教程,包含了更多实践指导和最佳实践。 总的来说,log4j为Java开发者...

    log4j-user-guide

    16. 扩展Log4j配置(ExtendingLog4jConfiguration):这部分可能是关于如何通过编程方式扩展Log4j配置的详细信息。 17. 自定义日志级别(CustomLogLevels):Log4j允许创建自定义日志级别来满足特定的日志需求。 ...

    log4j-users-guide-2.5

    ### Apache Log4j2 用户指南 v2.5 关键知识点概览 #### 1.1 欢迎使用 Log4j2! ##### 1.1.1 介绍 Log4j2 是一个广泛使用的 Java 日志框架,由 Apache Software Foundation 开发与维护。自 1996 年起,随着 SEMPER ...

    Log4j使用指南.docx

    - **Spring 与 Log4j 集成**:Spring框架支持Log4j,通过配置Spring的logging.properties或log4j.xml文件,可以控制Spring框架内部的日志输出。 总结来说,Log4j是Java开发中不可或缺的日志管理工具,它提供了强大...

    log4j完全手册

    - Spring:通过配置文件集成Log4j,方便管理应用日志。 - Struts、Hibernate等:多数Java框架都支持与Log4j的集成。 9. **最佳实践** - 尽量避免在循环中写入日志,以减少性能影响。 - 使用日志模板,保持日志...

    log4j使用指南与API参考,以CHM格式提供

    **Log4j使用指南与API参考** Log4j是一款广泛使用的Java日志框架,它为应用程序提供了灵活且可扩展的日志记录功能。本指南将帮助开发者深入理解和有效地使用Log4j,以实现高效的日志管理和分析。以下是Log4j的核心...

    Log4j学习资料大全

    这个压缩包包含了关于Log4j的全面学习资料,包括文档、API手册和配置指南,对于深入理解和使用Log4j来说,是一份非常宝贵的学习资源。 首先,我们来看看"log4j详解.doc"。这份文档通常会详细介绍Log4j的基本概念、...

    Log4j整理的3个学习文档

    1. **Log4j手册.pdf**:这个文档通常包含了Log4j的基础知识和详细指南。Log4j的核心组件包括Logger、Appender和Layout。Logger是记录日志信息的对象,用于定义日志级别(如DEBUG、INFO、WARN、ERROR和FATAL)。...

    Log4j的中文文档

    Log4j通过其强大的功能和灵活性,帮助开发者实现这些目标,而且由于它的易用性和广泛支持,已经成为Java开发的标准日志解决方案之一。 总之,Log4j是一个强大、可配置的日志框架,通过记录器、输出源和布局器的协同...

    Pro Apache Log4j second edition

    - **Web应用集成**:展示如何在常见的Web应用框架(如Spring MVC、Struts等)中集成Log4j进行日志记录。 - **分布式系统**:讨论在分布式系统环境下如何配置和使用Log4j,确保日志的一致性和完整性。 - **高级应用...

    Quartz任务调度框架和log4j各种文档集合

    这个压缩包文件“Quartz”很可能包含了Quartz的官方文档、示例代码和可能的log4j配置指南。通过学习这些文档,开发者可以深入了解如何配置和使用这两个工具,以满足他们项目中的定时任务需求和日志记录需求。文档...

    apache-log4j-1.2.15.zip

    `INSTALL` 文件通常包含安装或部署软件的指南,为用户提供了如何在他们的系统上正确设置和配置Log4j的步骤。这可能包括添加库到类路径、配置日志配置文件等操作。 `log4j-1.2.15.jar` 是Log4j的核心库文件,包含了...

Global site tag (gtag.js) - Google Analytics