一,原来一贯用的properties配置文件
log4j.properties
log4j.rootLogger = WARN, stdout
#, file, html
#----------------------------------------------------------------
# Console
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = %d{ABSOLUTE} %5p %c{1}:%L - %m%n
#----------------------------------------------------------------
# File
#log4j.appender.file = org.apache.log4j.FileAppender
#log4j.appender.file.File = d:/mylog.log
#log4j.appender.file.layout = org.apache.log4j.PatternLayout
#log4j.appender.file.layout.ConversionPattern = %d{ABSOLUTE} %5p %c{1}:%L - %m%n
#----------------------------------------------------------------
# HTML
#log4j.appender.html = org.apache.log4j.FileAppender
#log4j.appender.html.File = d:/mylog.html
#log4j.appender.html.layout = org.apache.log4j.HTMLLayout
#----------------------------------------------------------------
# Package !!!
#log4j.logger.com.ying.dang.actions=DEBUG
二,今天在东洋人的要求下开始使用xml方式的配置文件
log4j.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="stdout" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{ABSOLUTE} %5p %c{1}:%L - %m%n" />
</layout>
</appender>
<appender name="file" class="org.apache.log4j.FileAppender">
<param name="File" value="D:/test.log" />
<param name="Append" value="true" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{ABSOLUTE} %5p %c{1}:%L - %m%n" />
</layout>
</appender>
<appender name="html" class="org.apache.log4j.FileAppender">
<param name="Append" value="true" />
<param name="File" value="D:/test.html" />
<layout class="org.apache.log4j.HTMLLayout" />
</appender>
<appender name="daily" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="log/daily.log" />
<param name="DatePattern" value="'daily.'yyyy-MM-dd'.log'" />
<param name="Append" value="true" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{ABSOLUTE} %5p %c{1}:%L - %m%n" />
</layout>
</appender>
<category name="cn.com.legendapl.spring.log" additivity="false">
<level value="DEBUG" />
<appender-ref ref="stdout" />
</category>
<root>
<level value="ERROR" />
<appender-ref ref="stdout" />
<appender-ref ref="file" />
<appender-ref ref="html" />
</root>
</log4j:configuration>
三,log4j的xml配置文件的树状结构如下所示,注意下图只显示了常用的部分。
xml declaration and dtd
|
log4j:configuration
|
+-- appender (name, class)
| |
| +-- param (name, value)
| +-- layout (class)
| |
| +-- param (name, value)
+-- logger (name, additivity)
| |
| +-- level (class, value)
| | |
| | +-- param (name, value)
| +-- appender-ref (ref)
+-- root
|
+-- param (name, class)
+-- level
| |
| +-- param (name, value)
+-- appender-ref (ref)
四,日志格式的含义
- %m 输出代码中指定的消息
- %p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL
- %r 输出自应用启动到输出该log信息耗费的毫秒数
- %c 输出所属的类目,通常就是所在类的全名
- %t 输出产生该日志事件的线程名
- %n 输出一个回车换行符,Windows平台为"\r\n",Unix平台为"\n"
- %d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式
五,Log4j的初始化
public class Log4jInit extends HttpServlet {
public void init() {
String prefix = getServletContext().getRealPath("/");
String file = getInitParameter("Log4j-init-file");
if(file != null) {
PropertyConfigurator.configure(prefix+file);
}
}
}
web.xml中配置一下
<servlet>
<servlet-name>Log4j-init</servlet-name>
<servlet-class>xx.xx.Log4jInit</servlet-class>
<init-param>
<param-name>Log4j-init-file</param-name>
<param-value>WEB-INF/classes/Log4j.properties</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
分享到:
相关推荐
Log4j2学习笔记,引入log4j2的依赖-log4j2.xml配置模板-application.properties文件配置-使用
log4j的配置文件 以及log4jxml的配置 简单容易理解,粘贴即可
本文档提供log4j配置相对路径三种方法:log4j.properties文件配置、xml文件配置和通过servlet初始化方式来配置,希望对大家有所帮助
这里是log4j.xml详细的配置,在使用MyBatis框架时必要的一种配置。
log4j.xml配置范例log4j.xml配置范例log4j.xml配置范例log4j.xml配置范例log4j.xml配置范例
log4j.xml配置文件
NULL 博文链接:https://sosuny.iteye.com/blog/432260
log4jxml 详细介绍 和 对比举例!
log4j的详细配置,log4j.xml和log4j.properties,日志输出到文件,邮件,数据库,控制台等
log4j的配置文件,方便大家使用.log4j的基本
Log4j配置详解 特别清晰,大家可以下载来参考学习,有问题可以反馈
log4j 的配置文件示例 log4j是很好用的日志,建议项目里面都用上.
log4j xmlweb最佳配置备份
log4j2 xml 和 properties 配置
spring5取消Log4jConfigListener,运用Log4jServletContextListener代替Log4jConfigListener(log4j2.xml的配置)
log4j2的配置文件
log4j 2.x版本不再支持像1.x中的.properties后缀的文件配置方式,2.x版本配置文件后缀名只能为".xml",".json"或者".jsn". 系统选择配置文件的优先级(从先到后)如下: (1).classpath下的名为log4j2-test.json...
log4j jar包 xml配置
使用log4j2.xml实现对日志的精准控制,对整个开发过程百利有之!但是也要也要注意使用的误区,具体可才看本博客下的Java异常和日志管理!