log4j常用输出格式
%c 列出logger名字空间的全称,如加上{<层数>}表示出从最内层算起的指定层数的名字空间
%X 按MDC(Mapped Diagnostic Context,线程映射表)输出日志。通常用于多个客户端连接同一台服务器,方便服务器区分是那个客户端访问留下来的日志。
%p 日志信息级别
%d %d{<日期格式>}:日志信息产生时间,使用ISO8601定义的日期格式
%C 日志信息所在地(全限类名)
%m 产生的日志具体信息
%n 输出日志信息换行
%F 显示调用logger的源文件名
%l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数
%L 显示调用logger的代码行
%M 显示调用logger的方法名
%r 显示从程序启动时到记录该条日志时已经经过的毫秒数
%t 输出产生该日志事件的线程名
%% 显示一个
log4j.properties模板
log4j.rootLogger=info,CONSOLE,RFILE,FILE,DB 设置级别和三个输出端
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Target=System.out 控制台类型
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern= %4p [%t] (%F:%L) - %m%n
log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.File=/help/my.properties 目标文件
log4j.appender.FILE.Append=false 是否追加
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout 布局模式
log4j.appender.FILE.layout.ConversionPattern=%d{yyyy-MM-dd hh:mm:ss}:%p %c:%L - %m%n 格式化布局
log4j.appender.RFILE=org.apache.log4j.RollingFileAppender
log4j.appender.RFILE.File=/help/my.properties 目标文件
log4j.appender.RFILE.MaxFileSize=1KB 最大长度
log4j.appender.RFILE.MaxBackupIndex=3 最多备份
log4j.appender.RFILE.layout=org.apache.log4j.PatternLayout 布局模式
log4j.appender.RFILE.layout.ConversionPattern=%d{yyyy-MM-dd hh:mm:ss}:%p %c:%L - %m%n 格式化布局
log4j.appender.DB=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.DB.URL=jdbc:oracle:thin:@127.0.0.1:1521:mumu URL
log4j.appender.DB.driver=oracle.jdbc.driver.OracleDriver 驱动
log4j.appender.DB.user=liulibo 用户名
log4j.appender.DB.password=liulibo 密码
log4j.appender.DB.layout=org.apache.log4j.PatternLayout 布局模式
log4j.appender.DB.layout.ConversionPattern=insert into log4j(createdate,thread,level_,class,message) values(\'%d\',\'%t\',\'%-5p\',\'%c\',\'%m\')
create table log4j(createdate varchar2(32),thread varchar2(32),level_ varchar2(32),class varchar2(32),message varchar2(32));
0.XML模板
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration>
<appender name="ConsoleAppender" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{yyyy-MM-dd hh:mm:ss}:%p %t %c - %m%n"/>
</layout>
</appender>
<appender name="RollingFileAppender" class="org.apache.log4j.RollingFileAppender">
<param name="Append" value="false"/>
<param name="MaxFileSize" value="1KB"/>
<param name="File" value="dom/my.log"/>
<param name="MaxBackupIndex" value="3"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{yyyy-MM-dd hh:mm:ss}:%p %t %c - %m%n"/>
</layout>
</appender>
<appender name="JDBCAppender" class="org.apache.log4j.jdbc.JDBCAppender">
<param name="URL" value="jdbc:oracle:thin:@127.0.0.1:1521:mumu"/>
<param name="user" value="liulibo"/>
<param name="password" value="liulibo"/>
<param name="driver" value="oracle.jdbc.driver.OracleDriver"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="insert into log4j(createdate,thread,level_,class,message) values(\'%d\',\'%t\',\'%-5p\',\'%c\',\'%m\')"/>
</layout>
</appender>
<root>
<priority value ="debug" />
<appender-ref ref="ConsoleAppender"/>
<appender-ref ref="RollingFileAppender"/>
<appender-ref ref="JDBCAppender"/>
</root>
</log4j:configuration>
加载方式 在web.xml中添加
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>classpath:runtimecfg/log4j.xml</param-value>
</context-param>
<context-param>
<param-name>log4jRefreshInterval</param-name>
<param-value>3600000</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
现在使用的配置文件:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'>
<appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%5p, %M(%F %L), %d{yyyy-MM-dd_HH:mm:ss}, %m%n "/>
</layout>
</appender>
<appender name="DEBUG" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="d:/debug.log"/> <!--暂时路径,上线后修改为线上路径 -->
<param name="Append" value="true"/>
<param name="DatePattern" value="'.'yyyy-MM-dd-HH"/>
<param name="BufferedIO" value="true"/>
<!-- 8K为一个写单元 -->
<param name="BufferSize" value="8192"/>
<param name="MaxFileSize" value="2GB"/>
<param name="MaxBackupIndex" value="99999"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%5p, %M(%F %L), %d{yyyy-MM-dd_HH:mm:ss}, %m%n "/>
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMin" value="DEBUG"/>
<param name="LevelMax" value="DEBUG"/>
</filter>
</appender>
<appender name="INFO" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="d:/info.log"/>
<param name="Append" value="true"/>
<param name="DatePattern" value="'.'yyyy-MM-dd-HH"/>
<param name="BufferedIO" value="true"/>
<!-- 8K为一个写单元 -->
<param name="BufferSize" value="8192"/>
<param name="MaxFileSize" value="2GB"/>
<param name="MaxBackupIndex" value="99999"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%5p, %M(%F %L), %d{yyyy-MM-dd_HH:mm:ss}, %m%n "/>
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMin" value="INFO"/>
<param name="LevelMax" value="INFO"/>
</filter>
</appender>
<appender name="WARN" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="d:/warn.log"/>
<param name="Append" value="true"/>
<param name="DatePattern" value="'.'yyyy-MM-dd-HH"/>
<param name="BufferedIO" value="true"/>
<!-- 8K为一个写单元 -->
<param name="BufferSize" value="8192"/>
<param name="MaxFileSize" value="2GB"/>
<param name="MaxBackupIndex" value="99999"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%5p, %M(%F %L), %d{yyyy-MM-dd_HH:mm:ss}, %m%n"/>
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMin" value="WARN"/>
<param name="LevelMax" value="WARN"/>
</filter>
</appender>
<appender name="ERROR" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="d:/error.log"/>
<param name="Append" value="true"/>
<param name="DatePattern" value="'.'yyyy-MM-dd-HH"/>
<param name="BufferedIO" value="true"/>
<!-- 8K为一个写单元 -->
<param name="BufferSize" value="8192"/>
<param name="MaxFileSize" value="2GB"/>
<param name="MaxBackupIndex" value="99999"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%5p, %M(%F %L), %d{yyyy-MM-dd_HH:mm:ss}, %m%n"/>
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMin" value="ERROR"/>
<param name="LevelMax" value="ERROR"/>
</filter>
</appender>
<appender name="FATAL" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="d:/fatal.log"/>
<param name="Append" value="true"/>
<param name="DatePattern" value="'.'yyyy-MM-dd-HH"/>
<param name="BufferedIO" value="true"/>
<!-- 8K为一个写单元 -->
<param name="BufferSize" value="8192"/>
<param name="MaxFileSize" value="2GB"/>
<param name="MaxBackupIndex" value="99999"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%5p, %M(%F %L), %d{yyyy-MM-dd_HH:mm:ss}, %m%n"/>
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMin" value="FATAL"/>
<param name="LevelMax" value="FATAL"/>
</filter>
</appender>
<root>
<priority value="DEBUG"/>
<appender-ref ref="STDOUT"/>
<appender-ref ref="DEBUG"/>
<appender-ref ref="INFO"/>
<appender-ref ref="WARN"/>
<appender-ref ref="ERROR"/>
<appender-ref ref="FATAL"/>
</root>
</log4j:configuration>
分享到:
相关推荐
### Log4j配置与加载方法详解 Log4j是一款由Apache出品的日志记录工具,它提供了灵活的日志级别控制和多样化的日志输出方式,广泛应用于Java应用的开发中。本文将深入解析log4j的配置与加载机制,帮助开发者更好地...
Log4j配置说明.rarLog4j配置说明.rarLog4j配置说明.rarLog4j配置说明.rar,Log4j配置,Log4j Log4j配置说明.rarLog4j配置说明.rarLog4j配置说明.rarLog4j配置说明.rar,Log4j配置,Log4j
### log4j配置与使用方法 #### 一、log4j简介 log4j是Apache的一个开源项目,通过使用log4j,开发者能够控制日志信息的生成、等级以及输出的目的地。它允许用户根据不同的环境调整日志的级别,从而帮助开发者在...
在`Log4j配置文件详细说明[转].htm`和`Log4j配置文件详细说明[转]_files`这两个文件中,应包含了更详细的实例和说明,可以帮助深入理解每个属性的实际作用和配置方法。在实践中,不断试验和调整,你会发现Log4j是一...
Log4j 配置文件说明 Log4j 是一种流行的日志记录工具,用于记录和管理应用程序中的日志信息。配置文件是 Log4j 的核心组件之一,通过配置文件可以控制日志记录的级别、输出目的地和格式。在本文中,我们将详细介绍 ...
**Log4j配置实例** Log4j是一款广泛使用的Java日志框架,它为应用程序提供了灵活的日志记录功能。本文将深入探讨Log4j的配置及其实际应用,帮助开发者更好地理解和利用这一工具。 **1. Log4j概述** Log4j是由...
### log4j配置详解 #### 一、log4j简介 Log4j 是一个开源的日志记录工具,它允许开发者自定义日志级别并能够输出丰富的日志信息。本篇文章将详细解读 log4j 的基本配置及使用方法,非常适合初学者理解和掌握。 ##...
### Tomcat 下的 Log4j 日志配置详解 在日常的 Web 开发中,日志记录对于调试问题、监控系统状态以及后期维护来说至关重要。在使用 Apache Tomcat 作为服务器时,合理配置日志框架(如 Log4j)能够极大地提高开发...
压缩包中的"**log4j配置说明及所需jar包**"包含了Log4j的库文件,包括`log4j.jar`和其他可能的依赖。确保将这些JAR包添加到项目的类路径(Classpath)中,这样你的程序才能正确识别并使用Log4j。 **四、代码示例** ...
完整的log4j配置文件
在项目资源目录下创建`log4j.properties`配置文件,这是Log4j读取配置信息的地方。我们需要添加以下内容: ```properties # 设置根logger级别 log4j.rootLogger=DEBUG, DB # 配置DB Appender log4j.appender...
log4j配置文件例子,可以让你轻松配置log4j
Java程序log4j配置详解 log4j是一个流行的Java日志记录工具,提供了灵活的日志记录和管理功能。在Java程序中,log4j配置正确是非常重要的,本文将详细介绍log4j配置的各个方面。 一、log4j配置文件 log4j的配置...
### Log4j配置文件详解 #### 一、概述 Log4j是一款开源的日志记录工具,广泛应用于Java应用程序中。其强大的配置灵活性使得开发者能够轻松地定制日志记录的细节,如日志级别、输出目的地及日志信息的格式等。本文...
**Log4J配置实例(XML格式)** Log4J是一款广泛应用的日志记录框架,它为Java应用程序提供了灵活的日志记录功能。在Java开发中,日志记录是必不可少的一部分,可以帮助开发者跟踪程序运行状态,定位错误和调试代码...
log4j的配置文件一般为`log4j.properties`或`log4j.xml`,根据项目需求选择不同的格式。例如,一个基本的`log4j.properties`配置可能如下所示: ``` # 设置全局日志级别为INFO log4j.rootLogger=INFO, stdout, R #...
《深入理解log4j:配置与实践》 在Java开发中,日志记录是不可或缺的一部分,它帮助开发者追踪程序运行状态,定位问题。Log4j是Apache的一个开源项目,提供了一种灵活且强大的日志记录解决方案。然而,值得注意的是...
《深入理解Log4j配置文件》 在Java开发中,日志记录是不可或缺的一部分,而Log4j作为一款广泛使用的日志框架,以其强大的功能和灵活性深受开发者喜爱。本篇文章将详细探讨一个感觉还不错的Log4j配置文件,旨在帮助...