`

log4j的xml配置方式

阅读更多
一,原来一贯用的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>
2
0
分享到:
评论
2 楼 yingzhor 2012-05-23  
我还写过这样一篇博客啊。 我自己都不记得了。
1 楼 wait8712 2012-05-23  
配置的太多了,还是properties配置文件比较好用,只是你的功能太少了,呵呵

相关推荐

    Log4j2学习log4j2.xml配置模板

    下面是一个较为完整的 Log4j2.xml 配置模板: ```xml &lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;!--日志级别以及优先级排序: OFF &gt; FATAL &gt; ERROR &gt; WARN &gt; INFO &gt; DEBUG &gt; TRACE &gt; ALL --&gt; &lt;!--Configuration 后面...

    Log4J配置实例(xml格式)

    Log4J的XML配置文件通常以`log4j.xml`或`logging.xml`为名,它们定义了日志的输出级别、目的地、布局格式以及附加的配置参数。 ### 1. 日志级别 Log4J支持多种日志级别,包括`DEBUG`、`INFO`、`WARN`、`ERROR`和`...

    log4j与web.xml的配置

    4. **通过web.xml配置Log4j** - 在web.xml中,我们可以使用`&lt;context-param&gt;`标签来指定Log4j配置文件的位置,例如: ```xml &lt;param-name&gt;log4jConfigLocation &lt;param-value&gt;/WEB-INF/classes/log4j....

    log4j2.xml配置

    spring5取消Log4jConfigListener,运用Log4jServletContextListener代替Log4jConfigListener(log4j2.xml的配置)

    log4j中配置日志文件相对路径方法(PDF)

    除了使用`log4j.properties`文件外,还可以通过XML文件来配置日志文件的路径。与`properties`文件类似,XML文件也支持变量的使用。 ##### 示例配置 ```xml &lt;appender name="logfile" class="org.apache.log4j....

    log4jxml详细分析 例子全

    `log4j.xml`配置文件主要用于定义日志的输出方式,包括日志级别、日志信息的格式、日志输出的目标等。以下是对给定部分`log4j.xml`配置文件的详细解析: 1. **Appender配置**:Appender是日志输出目的地的抽象概念...

    log4j2 xml 和 properties配置

    log4j2 xml 和 properties 配置

    SSM整合中的Log4j日志的配置详情

    在 SSM 整合项目中,需要在 web.xml 文件中指定 Log4j 配置文件的位置,以便 Spring 可以加载 Log4j 配置文件。下面是一个基本的 web.xml 配置: ``` &lt;listener-class&gt;org.springframework.web.util.Log4...

    log4j的xml配置文件

    log4j的配置文件 以及log4jxml的配置 简单容易理解,粘贴即可

    log4j2的日志xml配置文件

    log4j2的配置文件

    log4j.xml(MyBatis框架)

    这里是log4j.xml详细的配置,在使用MyBatis框架时必要的一种配置。

    spring-log4j.xml

    log4j.xml配置范例log4j.xml配置范例log4j.xml配置范例log4j.xml配置范例log4j.xml配置范例

    log4j.xml配置文件

    log4j.xml配置文件

    tomcat下的log4j日志配置

    本文将详细介绍两种常见的 Log4j 配置方式:Tomcat 级别的统一日志管理和每个 web 应用分别配置 Log4j,并着重介绍第二种方法的具体步骤。 #### 一、Tomcat 级别的统一日志管理 这种方法适用于希望对整个 Tomcat ...

    log4j配置和加载方法

    使用`DOMConfigurator.configure("path/to/log4j.xml")`来加载`.xml`配置文件。 在示例代码中,`import org.apache.log4j.Logger;`、`import org.apache.log4j.PropertyConfigurator;`、`import org.apache.log4j....

    log4j实用配置扩展

    log4j的配置文件通常是`.properties`或`.xml`格式。以下是一个简单的配置示例: ```properties # 设置全局的日志级别为INFO log4j.rootLogger=INFO, stdout, file # 控制台输出配置 log4j.appender.stdout=org....

    log4j的详细配置,log4j.xml和log4j.properties,日志输出到文件,邮件,数据库,控制台等

    1. **XML配置** (`log4j.xml`) - **基本结构**:`log4j.xml`文件遵循XML语法,根元素是`&lt;configuration&gt;`,包含`&lt;appenders&gt;`, `&lt;loggers&gt;`, `&lt;root&gt;`等子元素。 - **Appenders**:这是定义日志输出目标的地方,...

    SpringBoot框架配置log4j和log4j2的配置代码

    2. **配置文件**:创建`log4j.properties`或`log4j.xml`文件,定义日志级别和输出目的地。例如: ```properties # log4j.properties 示例 log4j.rootLogger=DEBUG, stdout, file log4j.appender.stdout=org.apache....

    log4j.xml配置

    log4j的配置文件,方便大家使用.log4j的基本

Global site tag (gtag.js) - Google Analytics