// 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配置的关键方面,以及如何有效地利用这个工具来优化您的开发工作流程。 1. 日志配置要素 - **配置文件**: Log4j的配置通常通过一个配置文件完成,如`log4j.properties`或`log4j.xml`...
Appender 是 Log4j2 中的核心组件之一,负责将日志事件输出到不同的目的地: - **Console Appender**:输出到控制台。 - **File Appender**:将日志记录写入文件。 - **DB Appender**:记录到数据库。 - **SMTP ...
`WSAD5.1配置log4j.txt`文件可能包含了具体的配置指南,读者可以参考这个文本文件进行操作。 总的来说,正确配置log4j对于WebSphere V5环境下的应用监控和问题排查至关重要。同时,结合iBATIS的SQL日志输出,可以...
这个压缩包提供的资源对于Java开发者来说非常有价值,它包含了在项目中集成log4j所需的基础文件和可能的操作指南。正确配置和使用log4j可以帮助提升代码的可读性和维护性,同时便于排查问题。通过深入理解和实践,...
Log4j是一个广泛使用的Java日志框架,由Apache软件基金会开发。它为应用程序提供了一种灵活的日志记录机制,使得开发者能够控制日志信息的输出格式、级别以及目的地。在Java应用程序中,日志功能是必不可少的,因为...
总的来说,Apache Log4j 2.14.0是一个强大的日志工具,它提供了丰富的配置选项,能够满足不同项目的需求。与Spring 5的结合使得在现代Java应用中集成日志变得简单高效。正确配置和使用Log4j 2,可以帮助开发者更好地...
2. 配置Log4j:在项目根目录下创建一个名为`log4j.properties`的文件,定义日志输出级别和目标。例如: ``` log4j.rootLogger=DEBUG, FILE log4j.appender.FILE=org.apache.log4j.DailyRollingFileAppender log4...
可能包含了项目相关的示例图片、说明文档和链接,如"www.Linuxidc.com.jpg"可能是展示Kafka或Log4j配置的截图,"教程重要说明及更新链接点击这个文本.txt"可能是关于如何使用这些工具的详细指南,"Linux公社...
`3.log4j日志包的用法.docx`可能是一份关于如何在项目中使用log4j的指南,包括配置和代码示例。`log4j包的使用说明及api帮助文档`可能是更全面的教程,包含了更多实践指导和最佳实践。 总的来说,log4j为Java开发者...
16. 扩展Log4j配置(ExtendingLog4jConfiguration):这部分可能是关于如何通过编程方式扩展Log4j配置的详细信息。 17. 自定义日志级别(CustomLogLevels):Log4j允许创建自定义日志级别来满足特定的日志需求。 ...
### Apache Log4j2 用户指南 v2.5 关键知识点概览 #### 1.1 欢迎使用 Log4j2! ##### 1.1.1 介绍 Log4j2 是一个广泛使用的 Java 日志框架,由 Apache Software Foundation 开发与维护。自 1996 年起,随着 SEMPER ...
- **Spring 与 Log4j 集成**:Spring框架支持Log4j,通过配置Spring的logging.properties或log4j.xml文件,可以控制Spring框架内部的日志输出。 总结来说,Log4j是Java开发中不可或缺的日志管理工具,它提供了强大...
- Spring:通过配置文件集成Log4j,方便管理应用日志。 - Struts、Hibernate等:多数Java框架都支持与Log4j的集成。 9. **最佳实践** - 尽量避免在循环中写入日志,以减少性能影响。 - 使用日志模板,保持日志...
**Log4j使用指南与API参考** Log4j是一款广泛使用的Java日志框架,它为应用程序提供了灵活且可扩展的日志记录功能。本指南将帮助开发者深入理解和有效地使用Log4j,以实现高效的日志管理和分析。以下是Log4j的核心...
这个压缩包包含了关于Log4j的全面学习资料,包括文档、API手册和配置指南,对于深入理解和使用Log4j来说,是一份非常宝贵的学习资源。 首先,我们来看看"log4j详解.doc"。这份文档通常会详细介绍Log4j的基本概念、...
1. **Log4j手册.pdf**:这个文档通常包含了Log4j的基础知识和详细指南。Log4j的核心组件包括Logger、Appender和Layout。Logger是记录日志信息的对象,用于定义日志级别(如DEBUG、INFO、WARN、ERROR和FATAL)。...
Log4j通过其强大的功能和灵活性,帮助开发者实现这些目标,而且由于它的易用性和广泛支持,已经成为Java开发的标准日志解决方案之一。 总之,Log4j是一个强大、可配置的日志框架,通过记录器、输出源和布局器的协同...
- **Web应用集成**:展示如何在常见的Web应用框架(如Spring MVC、Struts等)中集成Log4j进行日志记录。 - **分布式系统**:讨论在分布式系统环境下如何配置和使用Log4j,确保日志的一致性和完整性。 - **高级应用...
这个压缩包文件“Quartz”很可能包含了Quartz的官方文档、示例代码和可能的log4j配置指南。通过学习这些文档,开发者可以深入了解如何配置和使用这两个工具,以满足他们项目中的定时任务需求和日志记录需求。文档...
`INSTALL` 文件通常包含安装或部署软件的指南,为用户提供了如何在他们的系统上正确设置和配置Log4j的步骤。这可能包括添加库到类路径、配置日志配置文件等操作。 `log4j-1.2.15.jar` 是Log4j的核心库文件,包含了...