properties形式:
用到的包就是spring.jar和log4j.jar了,首先要配置的是web.xml,需要增加以下几项内容:
log4j参数:
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/log4j.properties</param-value>
</context-param>
<context-param>
<param-name>log4jRefreshInterval</param-name>
<param-value>5000</param-value>
</context-param>
spring监听:
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
spring在Log4jConfigListener中会去读取context-param中的参数,找到log4j配置文件的位置,其中log4jRefreshInterval是动态修改配置文件的,非必须选项。
配置好了web.xml,然后就是log4j.properties,这个文件包含的所有选项的用法网络上都可以查到,这里只记录常用的几项。
#定义根节点,info是日志等级(共分5级),A1是自定义输出,console是输出到控制台
log4j.rootLogger=info, A1,console
#自定义输出配置
#循环写文件模式,输出文件名,单个文件大小,最大文件数,输出格式定义
log4j.appender.A1=org.apache.log4j.RollingFileAppender
log4j.appender.A1.File=test.log
log4j.appender.A1.MaxFileSize=5MB
log4j.appender.A1.MaxBackupIndex=10
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%c{1}]-[%p]:%L - %m%n
# 输出到控制台模式及输出格式
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%c{1}]-[%p]:%L - %m%n
然后在自己的类文件里就可以定义log4j使用了。
private static Logger logger = Logger.getLogger(YOURCLASS.class);
可以使用logger.info();logger.error();logger.debug();等打出自己的日志。
在配置完用tomcat测试时发现一个问题,就是自定义的日志文件test.log跑到${TOMCAT_HOME}/bin目录下边了,后来查了资料,通过以下配置可以修改此文件目录,在web.xml里增加一个参数:
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>YourApp.root</param-value>
</context-param>
然后在log4j中定义日志文件时如下:
log4j.appender.A1.File=${YourApp.root}/test.log
此时test.log文件就输出到WEB-INF同级目录下了,当然这个也可以自己随便指定了。
顺便再记录下,今天测试出个结论,在加载web.xml时的顺序是:1.listener 2.filter 3.servlet
参考链接:http://blog.itpub.net/post/17457/487967
xml形式:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/' >
<appender name="myConsole" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="[%d{dd HH:mm:ss,SSS\} %-5p] [%t] %c{2\} - %m%n" />
</layout>
<!--过滤器设置输出的级别-->
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="levelMin" value="debug" />
<param name="levelMax" value="warn" />
<param name="AcceptOnMatch" value="true" />
</filter>
</appender>
<appender name="myFile" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="D:/output.log" /><!-- 设置日志输出文件名 -->
<!-- 设置是否在重新启动服务时,在原有日志的基础添加新日志 -->
<param name="Append" value="true" />
<param name="MaxBackupIndex" value="10" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%p (%c:%L)- %m%n" />
</layout>
</appender>
<appender name="activexAppender" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="E:/activex.log" />
<param name="DatePattern" value="'.'yyyy-MM-dd'.log'" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="[%d{MMdd HH:mm:ss SSS\} %-5p] [%t] %c{3\} - %m%n" />
</layout>
</appender>
<!-- 指定logger的设置,additivity指示是否遵循缺省的继承机制-->
<logger name="com.runway.bssp.activeXdemo" additivity="false">
<priority value ="info"/>
<appender-ref ref="activexAppender" />
</logger>
<!-- 根logger的设置-->
<root>
<priority value ="debug"/>
<appender-ref ref="myConsole"/>
<appender-ref ref="myFile"/>
</root>
</log4j:configuration>
(1). 输出方式appender一般有5种:
org.apache.log4j.RollingFileAppender(滚动文件,自动记录最新日志)
org.apache.log4j.ConsoleAppender (控制台)
org.apache.log4j.FileAppender (文件)
org.apache.log4j.DailyRollingFileAppender (每天产生一个日志文件)
org.apache.log4j.WriterAppender (将日志信息以流格式发送到任意指定的地方)
(2). 日记记录的优先级priority,优先级由高到低分为
OFF ,FATAL ,ERROR ,WARN ,INFO ,DEBUG ,ALL。
Log4j建议只使用FATAL ,ERROR ,WARN ,INFO ,DEBUG这五个级别。
(3). 格式说明layout中的参数都以%开始,后面不同的参数代表不同的格式化信息(参数按字母表顺序列出):
%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 输出产生该日志事件的线程名
参考链接:http://13480.blog.163.com/blog/static/16285514200921743741252/
分享到:
相关推荐
log4j2 xml 和 properties 配置
Log4j提供了多种配置方式,其中最常用的有两种:XML格式的`log4j.xml`和properties格式的`log4j.properties`。接下来,我们将深入探讨如何通过这两种配置文件来设置日志输出的目标、级别以及格式。 1. **XML配置** ...
2. **Log4j配置文件(log4j.properties或log4j.xml)** - 在Java项目中,通常会有一个log4j配置文件,用于定义日志记录的级别、输出方式和格式。 - 示例配置: ``` log4j.rootLogger=DEBUG, FILE log4j....
这里提到的四个关键配置文件——`spring-mvc.xml`、`spring-mybatis.xml`、`web.xml`以及`log4j.properties`,对于一个基于Java的Web应用来说至关重要,特别是使用Spring MVC和MyBatis框架的时候。接下来,我们将...
在 SSM 整合项目中,需要在 web.xml 文件中指定 Log4j 配置文件的位置,以便 Spring 可以加载 Log4j 配置文件。下面是一个基本的 web.xml 配置: ``` <listener-class>org.springframework.web.util.Log4...
描述中提到的“简单的log4j配置”,暗示我们将讨论基础的配置步骤,可能包括如何设置日志级别,定义日志输出模式,以及指定日志输出的目标(如控制台、文件或其他)。提及的“readme.txt”文件通常包含关于项目或...
### Log4j配置与加载方法详解 Log4j是一款由Apache出品的日志记录工具,它提供了灵活的日志级别控制和多样化的日志输出方式,广泛应用于Java应用的开发中。本文将深入解析log4j的配置与加载机制,帮助开发者更好地...
log4j的配置文件一般为`log4j.properties`或`log4j.xml`,根据项目需求选择不同的格式。例如,一个基本的`log4j.properties`配置可能如下所示: ``` # 设置全局日志级别为INFO log4j.rootLogger=INFO, stdout, R #...
2. **配置全局 Log4j 属性文件**:在任意位置创建 `log4j.properties` 文件,并设置全局的日志级别、输出格式及存储路径等。通常会将该文件放置在 Tomcat 的 `conf` 目录下。 ```properties log4j.rootLogger=...
对于开发人员来说,理解和掌握Log4j配置可以帮助他们在调试和监控应用时更有效地获取和分析日志信息。 然而,提供的压缩包子文件名称“大福人家团购-大众点评团深圳站-大众点评网粤菜团购.mht”看起来与Log4J.xml...
3. **配置SpringBoot**:在`application.properties`中指定Log4j配置文件位置。 ```properties logging.config=classpath:log4j.properties ``` ### SpringBoot与Log4j2 Log4j2作为Log4j的升级版,提供更好的性能...
《深入解析log4j.xml配置》 在Java开发中,日志记录是不可或缺的一部分,而Log4j作为一款广泛使用的日志框架,它的配置文件log4j.xml扮演着至关重要的角色。本文将深入探讨log4j.xml配置文件的结构、用途及其中的...
Log4j通过一个.properties文件作为主配置文件,而Log4j2则弃用了这种方式,采用的是.xml、.json或者.jsn文件来配置。这种变化可能是技术发展的一个必然性,因为.properties文件的可阅读性确实有所不足。 核心JAR包 ...
如果你希望自定义配置文件的位置,可以通过系统属性`log4j.configuration`来指定,例如`System.setProperty("log4j.configuration", "path/to/your/log4j.properties")`。 总的来说,Log4j是一个强大且灵活的日志...
除了使用`log4j.properties`文件外,还可以通过XML文件来配置日志文件的路径。与`properties`文件类似,XML文件也支持变量的使用。 ##### 示例配置 ```xml <appender name="logfile" class="org.apache.log4j....
1. **引入Log4j配置**:在项目的`src/main/resources`目录下创建`log4j2.xml`或`log4j2.json`文件,用于定义日志级别、输出位置、格式等。 ```xml [%t] %-5level %logger{36} - %msg%n"/> ...
log4j 2.x版本不再支持像1.x中的.properties后缀的文件配置方式,2.x版本配置文件后缀名只能为".xml",".json"或者".jsn". 系统选择配置文件的优先级(从先到后)如下: (1).classpath下的名为log4j2-test.json...
### 关于Log4j.xml配置文件的理解与应用 #### 一、引言 在Java开发领域,日志记录是至关重要的一个环节。它不仅能够帮助开发者更好地了解程序运行时的状态,还能在出现故障时快速定位问题所在。Log4j作为一款优秀...
每天生成一个log4j日志文件,如果只需要将最近一段时间内的日志文件保留,以前或更早的文件不用保留。例如只保留最近一周的日志,日志文件保留3天等等这些。...log4j.properties文件在包中,拷贝出来用就可以了