在编码中我们会经常使用logj进行某个地方监控,这时候就需要用到log4j了.log4j.xml的模板如下
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
<!--输出方式:输出到控制台-->
<appender name="myConsole" class="org.apache.log4j.ConsoleAppender">
<!--
设置通道名称和输出方式,其中输出方式appender有5种,分别为
org.apache.log4j.RollingFileAppender
org.apache.log4j.ConsoleAppender (控制台)
org.apache.log4j.FileAppender (文件)
org.apache.log4j.DailyRollingFileAppender (每天产生一个日志文件)
org.apache.log4j.WriterAppender (将日志信息以流格式发送到指定地方)
-->
<param name="Target" value="System.out"/>
<param name="Threshold" value="INFO"/>
<!--
Threshold是个全局的过滤器,他将把低于所设置的level的信息过滤不显示出来
-->
<!-- 设置日志输出的格式-->
<layout class="org.apache.log4j.PatternLayout">
<!--
参数都以%开始后面不同的参数代表不同的格式化信息:
%c 输出所属类的全名,可在修改为 %d{Num} ,Num类名输出的范围
如:"org.apache.elathen.ClassName",%C{2}将输出elathen.ClassName
%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 输出产生该日志事件的线程名-->
<!-- The default pattern: Date Priority [Category] Message\n -->
<param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n"/>
</layout>
</appender>
<!--输出方式是:每天一个日志文件-->
<!--设置通道名称是:file,输出方式DailyRollingFileAppender-->
<appender name="myFile" class="org.apache.log4j.DailyRollingFileAppender">
<!--日志文件路径和文件名称 -->
<!-- 加../在logs,加/在C盘,不加在bin目录 -->
<!--
如果在加载时设置了变量System.setProperty("WebApp", appRoot),
可在此取出来${WebApp} -->
<param name="File" value="../logs/mylog.log"/>
<!-- 设置是否在重新启动服务时,在原有日志的基础添加新日志 -->
<param name="Append" value="true"/>
<!-- Rollover at midnight each day -->
<!-- e.g. mylog.log.2009-11-25.log -->
<param name="DatePattern" value="'.'yyyy-MM-dd'.log'"/>
<!-- Rollover at the top of each hour
<param name="DatePattern" value="'.'yyyy-MM-dd-HH'.log'"/>
-->
<layout class="org.apache.log4j.PatternLayout">
<!--
The default pattern: Date Priority [Category] Message\n
-->
<param name="ConversionPattern" value="%d %-5p [%c] %m%n"/>
<!--
The full pattern: Date MS Priority [Category] (Thread:NDC) Message\n -->
<!--
<param name="ConversionPattern" value="%d %-5r %-5p [%c] (%t:%x) %m%n"/>
-->
</layout>
</appender>
<appender name="ERROR_LOG" class="org.apache.log4j.DailyRollingFileAppender">
<errorHandler class="org.apache.log4j.helpers.OnlyOnceErrorHandler"/>
<param name="File" value="error.log"/>
<param name="Append" value="true"/>
<!-- 指定日志输出级别 -->
<param name="Threshold" value="INFO"/>
<param name="DatePattern" value="'.'yyyy-MM-dd'.log'"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %-5p [%c] %m%n"/>
</layout>
</appender>
<!--
level:是日记记录的优先级,优先级由高到低分为
OFF ,FATAL ,ERROR ,WARN ,INFO ,DEBUG ,ALL。
Log4j建议只使用FATAL ,ERROR ,WARN ,INFO ,DEBUG这四个级别。
-->
<!-- 指定logger的设置,additivity指示是否叠加输出log,如果是false,
在DsErrorLog logger中日志不会被其它logger满足条件的logger(比如root)
输出
-->
<!-- 将名称为DSErrorLog的logger,输出到“EEROR_LOG”的appender
所谓logger的名字也就是,在定义Logger时,构造函数的参数
Logger log = Logger.getLogger("DSErrorLog");
-->
<logger name="DSErrorLog" additivity="false">
<level class="org.apache.log4j.Level" value="DEBUG"/>
<appender-ref ref="ERROR_LOG"/>
</logger>
<!--
输出指定类包中的日志,比如想输出
Hibernate运行中生成的SQL语句,可作如下设置
-->
<category name="org.hibernate.SQL">
<priority value="DEBUG"/>
<!--
如果指定一个appender,这些log将被输出到指定的appender
如:<appender-ref ref="myFile"/>
否则将作用于所有的appender
-->
</category>
<!--
根默认会自动构建一个 root,输出INFO级别的日志到控制台,供logger继承
-->
<root>
<priority value ="INFO"/>
<appender-ref ref="myConsole"/>
<appender-ref ref="myFile"/>
</root>
</log4j:configuration>
- 大小: 6.9 KB
分享到:
相关推荐
下面是一个较为完整的 Log4j2.xml 配置模板: ```xml <?xml version="1.0" encoding="UTF-8"?> <!--日志级别以及优先级排序: OFF > FATAL > ERROR > WARN > INFO > DEBUG > TRACE > ALL --> <!--Configuration 后面...
一个比较通用的log4j.xml配置模板
2. **配置log4j.properties或log4j.xml**:定义日志级别、Appender和Layout。例如: ```properties log4j.rootLogger=DEBUG, FILE log4j.appender.FILE=org.apache.log4j.FileAppender log4j.appender.FILE.File...
`log4j`是一个广泛使用的Java日志框架,它提供了灵活的日志配置,能够帮助开发者记录程序运行过程中的各种信息。本文将深入探讨如何利用`log4j`实现按照日期每天写入不同日志文件的功能,以及涉及到的相关知识点。 ...
配置Log4j通常通过log4j.properties或log4j.xml文件完成,包括定义logger、appender、layout等。例如: ```properties log4j.rootLogger=DEBUG, FILE log4j.appender.FILE=org.apache.log4j....
四、Log4j-1.2.16的优化与维护 1. **日志级别管理**:在生产环境中,通常会将日志级别设置为WARN或ERROR,以减少不必要的日志输出,提高性能。 2. **日志分割**:为了便于管理和分析,可以配置Log4j按日期分割日志...
除了使用properties文件之外,Log4j还支持XML配置文件。XML配置文件更加灵活,可以实现复杂的配置需求。 下面是一个简单的XML配置文件示例: ```xml <appender name="console" class="org.apache.log4j....
在`log4j demo`中,我们可能会看到以下配置文件(log4j.properties或log4j.xml)示例: ```properties # log4j.properties 示例 log4j.rootLogger=DEBUG, stdout, file log4j.appender.stdout=org.apache.log4j....
在项目中,Log4j的配置文件(log4j.properties或log4j.xml)可以控制日志输出的格式、位置以及级别,帮助我们在开发和维护过程中追踪程序运行状态。 总结来说,"SpringMVC4.0+MyBatis3.2+验证码+邮箱+Log4j.rar"这...
Log4j的基本配置文件通常为`log4j.properties`或`log4j.xml`。配置文件主要由三部分组成:Appender(日志输出源)、Logger(日志记录器)以及Root Logger(根日志记录器)。 ##### 1. Appender(日志输出源) ...
1. **配置机制**:Log4j的灵活性主要体现在其配置文件上,通常为log4j.properties或log4j.xml。开发者可以根据项目需求,设置不同级别的日志(如DEBUG, INFO, WARN, ERROR, FATAL),并指定这些日志的输出目标...
在使用`slf4j-log4j12-1.6.6.jar`时,开发者首先会通过SLF4J API在代码中记录日志,然后在运行环境中通过配置文件(如log4j.properties或log4j.xml)指定日志输出的策略。例如,开发者可以设置日志级别,控制哪些...
Log4j的配置通常通过一个名为`log4j.properties`或`log4j.xml`的文件进行,这个文件定义了各个组件的设置。例如,`log4j.properties`中的配置如下: 1. **定义Logger** - `log4j.rootLogger=DEBUG, FILE` 这行...
- **log4j.properties或log4j.xml**: 这是Log4j的主要配置文件,用来设置Logger、Appender和Layout等属性。例如,你可以指定哪个Logger的级别,哪个Appender用于输出,以及日志的格式。 - **配置示例**: ```...
- **log4j.xml**: XML格式的配置文件,提供更复杂和结构化的配置选项。 - **动态配置**: 可以通过编程方式在运行时修改Log4j的配置,增强了灵活性。 3. **配置实例** - `log4j.rootLogger`: 指定默认的Logger...
使用这两个库时,通常需要一个配置文件(如`log4j2.xml`或`log4j2.json`)来定义日志行为,包括日志输出级别(如DEBUG、INFO、WARN、ERROR)、输出目的地(控制台、文件、数据库等)、以及布局格式(如PatternLayout...
使用这个JAR文件,开发者可以在项目中引入SLF4J的API,并通过配置Log4j的属性文件(log4j.properties或log4j.xml)来控制日志输出的级别、格式和目的地。 在实际应用中,使用SLF4J和Log4j的好处包括: 1. **灵活性*...
6. **Configurators**: 配置器负责读取配置文件(通常是log4j.properties或log4j.xml),并根据其中的设置初始化Log4j环境。 **Log4j配置** 在1.2.14版本中,Log4j的配置通常通过XML或properties文件完成。以下是...