参考:
http://zhangxiang390.iteye.com/blog/258455
log4j.xml 配置
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<!-- 类似定义logger节点打印具体类,或某包中的指定级别以上日志 -->
<logger name="common.TestLog4j">
<level value="debug" />
[color=red]<appender-ref ref="console" />[/color]
</logger>
<!-- 和logger节点功能差不多,打印具体类,或某包中的指定级别以上日志
<category name="common.TestLog4j">
<priority value="warn"/>
</category>
-->
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<!--param name="Threshold" value="INFO" 为打印logger 去掉Threshold参数配置 /-->
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="【AppLog】 %d{ABSOLUTE} %-5p %m%n" />
</layout>
</appender>
<appender name="file"
class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="log.txt" />
<!--日志过滤门槛,记录warn以上级别日志 -->
<param name="Threshold" value="WARN" />
<param name="DatePattern" value="'.'yyyy-MM-dd'.log'" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %-5p %m %n" />
</layout>
</appender>
<root>
<!-- root 整体设置过滤优先级,如果appender 没有设置filter或Threshold 默认采用该级别,定义的logger不在其中(即不会被过滤掉)。 -->
<priority value="INFO" />
<appender-ref ref="console" />
<appender-ref ref="file" />
</root>
</log4j:configuration>
本加红色部分参数,logger 节点配置打印在console appender中。
导致ERROR [STDERR] log4j:ERROR Attempted to append to closed appender named [CONSOLE]错误,具体原因不太清楚。去掉该配置后达到自己的要求。
http://brighter.iteye.com/blog/342162
下面是log4j.properties 简单配置
# Global logging configuration
log4j.rootLogger=error,stdout,fileout
#调试使用,配置打印common.log具体类,或包内日志。
#log4j.logger 与 log4j.category为前缀,common包名,common.TestLog4j类。
#log4j.logger.common=DEBUG
#log4j.category.common.TestLog4j=debug
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %5p (%F:%L) - %m%n
#File output...
log4j.appender.fileout=org.apache.log4j.DailyRollingFileAppender
log4j.appender.fileout.file=c:/log.txt
log4j.appender.fileout.DatePattern='.'yyyy-MM-dd'.log'
log4j.appender.fileout.layout=org.apache.log4j.PatternLayout
log4j.appender.fileout.layout.ConversionPattern=%d %5p (%F:%L) - %m%n
log4j.appender.fileout.Threshold=INFO
测试参考java代码 log4j配置文件要放在资源根目录下,否则测试结果与预计相悖。
public class TestLog4j {
private static Logger logger = Logger.getLogger(TestLog4j.class );
public static void main(String[] args) {
PropertyConfigurator.configure( "D:/workspace/JP/test/log4j.properties" );
logger.fatal( " fatal " );
logger.error( " error " );
logger.warn( " warn " );
logger.info( " info " );
logger.debug( " debug " );
}
}
(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 输出产生该日志事件的线程名
分享到:
相关推荐
Log4J的XML配置文件通常以`log4j.xml`或`logging.xml`为名,它们定义了日志的输出级别、目的地、布局格式以及附加的配置参数。 ### 1. 日志级别 Log4J支持多种日志级别,包括`DEBUG`、`INFO`、`WARN`、`ERROR`和`...
下面是一个较为完整的 Log4j2.xml 配置模板: ```xml <?xml version="1.0" encoding="UTF-8"?> <!--日志级别以及优先级排序: OFF > FATAL > ERROR > WARN > INFO > DEBUG > TRACE > ALL --> <!--Configuration 后面...
### Log4j XML 配置详解与实例解析 在深入探讨`log4j.xml`配置文件之前,我们先简要了解Log4j框架。Log4j是Apache的一个开放源码项目,通过使用Log4j,我们可以控制日志信息输送的目的地(控制台、文件等)、日志...
除了使用`log4j.properties`文件外,还可以通过XML文件来配置日志文件的路径。与`properties`文件类似,XML文件也支持变量的使用。 ##### 示例配置 ```xml <appender name="logfile" class="org.apache.log4j....
4. **通过web.xml配置Log4j** - 在web.xml中,我们可以使用`<context-param>`标签来指定Log4j配置文件的位置,例如: ```xml <param-name>log4jConfigLocation <param-value>/WEB-INF/classes/log4j....
spring5取消Log4jConfigListener,运用Log4jServletContextListener代替Log4jConfigListener(log4j2.xml的配置)
在 SSM 整合项目中,需要在 web.xml 文件中指定 Log4j 配置文件的位置,以便 Spring 可以加载 Log4j 配置文件。下面是一个基本的 web.xml 配置: ``` <listener-class>org.springframework.web.util.Log4...
log4j2 xml 和 properties 配置
log4j的配置文件 以及log4jxml的配置 简单容易理解,粘贴即可
这里是log4j.xml详细的配置,在使用MyBatis框架时必要的一种配置。
log4j2的配置文件
log4j.xml配置范例log4j.xml配置范例log4j.xml配置范例log4j.xml配置范例log4j.xml配置范例
log4j.xml配置文件
### Tomcat 下的 Log4j 日志配置详解 在日常的 Web 开发中,日志记录对于调试问题、监控系统状态以及后期维护来说至关重要。在使用 Apache Tomcat 作为服务器时,合理配置日志框架(如 Log4j)能够极大地提高开发...
使用`DOMConfigurator.configure("path/to/log4j.xml")`来加载`.xml`配置文件。 在示例代码中,`import org.apache.log4j.Logger;`、`import org.apache.log4j.PropertyConfigurator;`、`import org.apache.log4j....
log4j的配置文件通常是`.properties`或`.xml`格式。以下是一个简单的配置示例: ```properties # 设置全局的日志级别为INFO log4j.rootLogger=INFO, stdout, file # 控制台输出配置 log4j.appender.stdout=org....
2. **配置文件**:创建`log4j.properties`或`log4j.xml`文件,定义日志级别和输出目的地。例如: ```properties # log4j.properties 示例 log4j.rootLogger=DEBUG, stdout, file log4j.appender.stdout=org.apache....
1. **XML配置** (`log4j.xml`) - **基本结构**:`log4j.xml`文件遵循XML语法,根元素是`<configuration>`,包含`<appenders>`, `<loggers>`, `<root>`等子元素。 - **Appenders**:这是定义日志输出目标的地方,...
log4j的配置文件,方便大家使用.log4j的基本