log4j的官方wiki
http://wiki.apache.org/logging-log4j/Log4jXmlFormat
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<param name="Target" value="System.out"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%-5p %c{1} - %m%n"/>
</layout>
</appender>
<root>
<priority value ="debug" />
<appender-ref ref="console" />
</root>
</log4j:configuration>
这是官网给出的一个最基本的配置
<root>
<priority value="debug" /><!-- 日志中输出级别,这里输出debug级别以上的日志 debug、info、warn、error、fatal -->
<appender-ref ref="CONSOLE" /><!-- 在控制台输出 -->
<appender-ref ref="FILE" /><!-- 在文件输出 -->
</root>
这里面配置了 当前项目的全局日志输出情况,以两种形式输出,控制台和文件
---------记录日志的多种输出方式 start---------
这里面的CONSOLE和FILE,是引用,分别引用下面的代码
<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender"><!-- 控制台输出 -->
<layout class="org.apache.log4j.PatternLayout"><!-- 输出布局模式 -->
<param name="ConversionPattern" value="%d - %c -%-4r [%t] %-5p %x - %m%n" /><!-- 输出格式 -->
</layout>
<!--限制输出级别-->
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMax" value="ERROR"/>
<param name="LevelMin" value="ERROR"/>
</filter>
</appender>
者里面配置了在控制台输出的具体配置
使用了ConsoleAppender,另外布局使用了PatternLayout
filter的意思就是使用了过滤,讲这一块的内容再通过过滤器来过滤一遍,分级别高低,在这区间内的可以显示出来
(注意这里面参数的大小写)
还有其他的输出,比如通过JDBC输出到数据库、通过SMTP发送邮件,还有下面一段代码输出到File文件等
布局模式也有多种,比如输出成html网页形式等,具体可以参看官网介绍
关于输出格式
%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL
%r 输出自应用启动到输出该log信息耗费的毫秒数
%c 输出所属的类目,通常就是所在类的全名
%t 输出产生该日志事件的线程名
%n 输出一个回车换行符,Windows平台为“/r/n”,Unix平台为“/n”
%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921
%l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java:10)
下面是输出到文件的配置
<appender name="FILE" class="org.apache.log4j.FileAppender"><!-- 文件模式输出 -->
<param name="File" value="C:/log4j1.log"/><!-- 输出到的位置 -->
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="%d - %c -%-4r [%t] %-5p %x - %m%n" />
</layout>
</appender>
<!-- ========================== 输出方式说明================================ -->
<!-- Log4j提供的appender有以下几种: -->
<!-- org.apache.log4j.ConsoleAppender(控制台), -->
<!-- org.apache.log4j.FileAppender(文件), -->
<!-- org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件), -->
<!-- org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件), -->
<!-- org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方) -->
<!-- ========================================================================== -->
<!-- 输出到日志文件 -->
<appender name="filelog_appender"
class="org.apache.log4j.RollingFileAppender">
<!-- 设置File参数:日志输出文件名 -->
<param name="File" value="log/testlog4jxml_all.log" />
<!-- 设置是否在重新启动服务时,在原有日志的基础添加新日志 -->
<param name="Append" value="true" />
<!-- 设置文件大小 -->
<param name="MaxFileSize" value="1MB" />
<!-- 设置文件备份 -->
<param name="MaxBackupIndex" value="10000" />
<!-- 设置输出文件项目和格式 -->
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %-5p (%c:%L)- %m%n" />
</layout>
</appender>
<!-- 输出到日志文件 每天一个日志 -->
<appender name="filelog_daily" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="log/daily.log" />
<param name="DatePattern" value="'daily.'yyyy-MM-dd'.log'" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%d{yyyy-MM-dd HH:mm:ss\} %-5p] [%t] (%c:%L) - %m%n" />
</layout>
</appender>
以上分别是记录到文件的集中方式
<appender name="EMAIL_QQ" class="org.apache.log4j.net.SMTPAppender">
<param name="Threshold" value="INFO"/>
<param name="BufferSize" value="128" />
<param name="SMTPHost" value="smtp.qq.com" />
<param name="SMTPUsername" value="cjjvictory" />
<param name="SMTPPassword" value="***" />
<param name="From" value="cjjvictory@qq.com" />
<param name="To" value="cjjvictory@gmail.com" />
<param name="Subject" value="测试邮件发送" />
<param name="LocationInfo" value="true" />
<param name="SMTPDebug" value="true" />
<layout class="org.cjj.log4j.extend.PatternLayout_zh">
<param name="ConversionPattern" value="[%d{ISO8601}] %-5p %c %m%n"/>
</layout>
</appender>
<!--- 异步测试,当日志达到缓存区大小时候执行所包的appender -->
<appender name="ASYNC_test" class="org.apache.log4j.AsyncAppender">
<param name="BufferSize" value="10"/>
<appender-ref ref="EMAIL_QQ"/>
</appender>
以上代码则记录了,通过配置SMTP来发送日志的方式
<appender name="DATABASE" class="org.apache.log4j.jdbc.JDBCAppender">
<param name="URL" value="jdbc:oracle:thin:@192.168.0.59:1521:oanet"/>
<param name="driver" value="oracle.jdbc.driver.OracleDriver"/>
<param name="user" value="hdczoa"/>
<param name="password" value="system"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="INSERT INTO hdczoa.LOG4J(stamp,thread, info_level,class,message) VALUES ('%d', '%t', '%p', '%c', %m)" />
</layout>
</appender>
以上代码则记录了通过配置JDBC来实现日志插入数据库
---------记录日志的多种输出方式 end---------
关于category 和logger
<logger name="com.abc" additivity="false">
<level value="WARN" />
<appender-ref ref="CONSOLE" />
</logger>
这段代码是针对指定的包来设置日志输出情况的
其中的appender-ref同上
而category是和logger几乎相同的,logger继承于category,现在已经不提倡使用category了
log4j的配置大概也就这些,欢迎补充
分享到:
相关推荐
--monitorInterval:Log4j 能够自动检测修改配置 文件和重新配置本身,设置间隔秒数--> <!--先定义所有的 appender--> <!--这个输出控制台的配置--> <!--输出日志的格式--> [%d{HH:mm:ss:SSS}] [%p] - %l -...
### 关于Log4j.xml配置文件的理解与应用 #### 一、引言 在Java开发领域,日志记录是至关重要的一个环节。它不仅能够帮助开发者更好地了解程序...总之,合理利用`log4j.xml`文件配置能够显著提升系统的稳定性和效率。
Log4J的XML配置文件通常以`log4j.xml`或`logging.xml`为名,它们定义了日志的输出级别、目的地、布局格式以及附加的配置参数。 ### 1. 日志级别 Log4J支持多种日志级别,包括`DEBUG`、`INFO`、`WARN`、`ERROR`和`...
2. **Log4j配置文件(log4j.properties或log4j.xml)** - 在Java项目中,通常会有一个log4j配置文件,用于定义日志记录的级别、输出方式和格式。 - 示例配置: ``` log4j.rootLogger=DEBUG, FILE log4j....
Log4j提供了多种配置方式,其中最常用的有两种:XML格式的`log4j.xml`和properties格式的`log4j.properties`。接下来,我们将深入探讨如何通过这两种配置文件来设置日志输出的目标、级别以及格式。 1. **XML配置** ...
要在项目中使用Log4j,首先需要将`log4j.jar`添加到项目的类路径中,然后创建或引用`log4j.xml`配置文件。在代码中,通过以下方式创建和使用Logger: ```java import org.apache.log4j.Logger; public class ...
在 SSM 整合项目中,需要在 web.xml 文件中指定 Log4j 配置文件的位置,以便 Spring 可以加载 Log4j 配置文件。下面是一个基本的 web.xml 配置: ``` <listener-class>org.springframework.web.util.Log4...
标题中的“Log4J.xml”指的是Apache Log4j框架的配置文件。Log4j是Java平台上广泛使用的日志记录工具,它允许程序员以灵活和可配置的方式控制应用程序的日志输出。XML格式的配置文件提供了更高级别的结构和可读性,...
`log4j.xml`是其配置文件,用于定义日志输出的行为和格式。通过这个文件,开发者可以控制日志级别(如DEBUG、INFO、WARN、ERROR和FATAL),指定日志输出的目标(控制台、文件、网络、数据库等),以及设置日志格式。...
首先,log4j.xml是一个基于XML格式的配置文件,它是Log4j框架的核心组成部分,用于定义日志记录的行为和输出方式。与传统的log4j.properties文件相比,XML格式更易于阅读和维护,同时提供了更好的扩展性。 配置文件...
Log4j 配置文件说明 ...Log4j 配置文件是 Log4j 的核心组件之一,通过配置文件可以控制日志记录的级别、输出目的地和格式。了解 Log4j 配置文件的基本结构和配置方法,可以更好地使用 Log4j 实现日志记录和管理。
这里提到的四个关键配置文件——`spring-mvc.xml`、`spring-mybatis.xml`、`web.xml`以及`log4j.properties`,对于一个基于Java的Web应用来说至关重要,特别是使用Spring MVC和MyBatis框架的时候。接下来,我们将...
总结,Log4j2通过XML配置文件实现了与MySQL数据库的集成,允许开发者将日志信息存储在数据库中,便于长期保存和分析。理解Log4j2的配置和使用是每个Java开发者必备的技能,这对于日后的故障排查和系统维护至关重要。...
配置Log4j主要通过`log4j.properties`或`log4j.xml`文件完成,其中定义了日志级别、appender(日志输出目标)和layout(日志格式)。例如,你可以为不同的类或包设置不同的日志级别,以获取所需级别的详细信息。 在...
在`.properties`文件中,配置信息通过键值对的形式呈现,如示例中的`log4j.category.org.zblog=ERROR,A1`,这里指定了`org.zblog`这个logger的日志级别为`ERROR`,并关联到名为`A1`的appender。 2. **.xml格式**:...
`log4j.xml`配置文件主要用于定义日志的输出方式,包括日志级别、日志信息的格式、日志输出的目标等。以下是对给定部分`log4j.xml`配置文件的详细解析: 1. **Appender配置**:Appender是日志输出目的地的抽象概念...
Log4j的配置通常通过一个名为`log4j.properties`或`log4j.xml`的文件完成。以下是一个简单的`log4j.properties`配置示例: ```properties # 设置root logger级别为INFO,并将输出到console log4j.rootLogger=INFO, ...
Log4j的灵活性很大程度上体现在其配置文件中,通常命名为`log4j.properties`或`log4j.xml`。配置文件定义了日志记录的行为,包括日志级别、输出目的地、格式等。在提供的`log4j.txt`文件中,我们可以看到类似以下的...
Log4j的配置文件(通常是`log4j.properties`或`log4j.xml`)定义了日志信息的输出方式、级别、目的地等。例如,你可以设置日志信息打印到控制台、写入文件、发送电子邮件或者存储到数据库。配置文件中的主要元素包括...