log4j.xml配置文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<!--
根节点的配置顺序:
renderer
appender
plugin
logger
category
root
loggerfactory
categoryfactory
-->
<!-- ========================================================================================= -->
<!--
org.apache.log4j.ConsoleAppender 控制台输出
org.apache.log4j.FileAppender 文件日志输出
org.apache.log4j.DailyRollingFileAppender 每个时间段产生一个日志文件
org.apache.log4j.RollingFileAppender 文件大小到达指定尺寸的时候产生一个新的文件
org.apache.log4j.WriterAppender 将日志信息以流格式发送到任意指定的地方
org.apache.log4j.net.SMTPAppender 发邮件输出日志
org.apache.log4j.net.SocketAppender Socket日志
org.apache.log4j.nt.NTEventLogAppender Window NT日志
org.apache.log4j.net.SyslogAppender
org.apache.log4j.net.JMSAppender
org.apache.log4j.AsyncAppender
org.apache.log4j.varia.NullAppender
org.apache.log4j.jdbc.JDBCAppender
-->
<!-- ========================================================================================= -->
<!--
控制台输出:org.apache.log4j.ConsoleAppender
Threshold=WARN 指定日志消息的输出最低层次。
ImmediateFlush=true 默认值是 true,意谓着所有的消息都会被立即输出。
Target=System.err 默认情况下是:System.out,指定输出控制台
-->
<appender name="Console" class="org.apache.log4j.ConsoleAppender">
<param name="Threshold" value="ALL"></param>
<param name="ImmediateFlush" value="true"></param>
<param name="Target" value="System.out"></param>
<layout class="org.apache.log4j.TTCCLayout" />
</appender>
<!-- ========================================================================================= -->
<!--
文件日志输出:org.apache.log4j.FileAppender
Threshold=WARN 指定日志消息的输出最低层次。
ImmediateFlush=true 默认值是 true,意谓着所有的消息都会被立即输出。
File=mylog.txt 指定消息输出到 mylog.txt 文件。
Append=false 默认值是 true,即将消息增加到指定文件中,false 指将消息覆盖指定的文件内容。
-->
<appender name="File" class="org.apache.log4j.FileAppender">
<param name="Threshold" value="ALL"></param>
<param name="ImmediateFlush" value="true"></param>
<param name="File" value="F:\\FileAppender.txt"></param>
<param name="Append" value="false"></param>
<layout class="org.apache.log4j.TTCCLayout" />
</appender>
<!-- ========================================================================================= -->
<!--
每个时间段产生一个日志文件:org.apache.log4j.DailyRollingFileAppender
Threshold=WARN 指定日志消息的输出最低层次。
ImmediateFlush=true 默认值是 true,意谓着所有的消息都会被立即输出。
File=mylog.txt 指定消息输出到 mylog.txt 文件。
Append=false 默认值是 true,即将消息增加到指定文件中,false 指将消息覆盖指定的文件内容。
DatePattern=.yyyy-ww 每周滚动一次文件,即每周产生一个新的文件。
当然也可以指定按月、周、天、时和分。即对应的格式如下:
.yyyy-MM 每月
.yyyy-ww 每周
.yyyy-MM-dd 每天
.yyyy-MM-dd-a 每天两次
.yyyy-MM-dd-HH 每小时
.yyyy-MM-dd-HH-mm 每分钟
-->
<appender name="DailyRollingFile" class="org.apache.log4j.DailyRollingFileAppender">
<param name="Threshold" value="ALL"></param>
<param name="ImmediateFlush" value="true"></param>
<param name="File" value="F:\\DailyRollingFileAppender.txt"></param>
<param name="Append" value="false"></param>
<param name="DatePattern" value=".yyyy-MM-dd-HH-mm"></param>
<layout class="org.apache.log4j.TTCCLayout" />
</appender>
<!-- ========================================================================================= -->
<!--
文件大小到达指定尺寸的时候产生一个新的文件:org.apache.log4j.RollingFileAppender
Threshold=WARN 指定日志消息的输出最低层次。
ImmediateFlush=true 默认值是 true,意谓着所有的消息都会被立即输出。
File=mylog.txt 指定消息输出到 mylog.txt 文件。
Append=false 默认值是 true,即将消息增加到指定文件中,false 指将消息覆盖指定的文件内容。
MaxFileSize=100KB 后缀可以是 KB, MB 或者是 GB. 在日志文件到达该大小时,将会自动滚动,即将原来的内容移到 mylog.log.1 文件。
MaxBackupIndex=2 指定可以产生的滚动文件的最大数。
-->
<appender name="RollingFile" class="org.apache.log4j.RollingFileAppender">
<param name="Threshold" value="ALL"></param>
<param name="ImmediateFlush" value="true"></param>
<param name="File" value="F:\\RollingFileAppender.txt"></param>
<param name="Append" value="false"></param>
<param name="MaxFileSize" value="1KB"></param>
<param name="MaxBackupIndex" value="3"></param>
<layout class="org.apache.log4j.TTCCLayout" />
</appender>
<!-- ========================================================================================= -->
<!-- ========================================================================================= -->
<!--
org.apache.log4j.HTMLLayout 以HTML表格形式布局
org.apache.log4j.PatternLayout 可以灵活地指定布局模式
org.apache.log4j.xml.XMLLayout XML文件布局日志
org.apache.log4j.SimpleLayout 包含日志信息的级别和信息字符串
org.apache.log4j.TTCCLayout 包含日志产生的时间、线程、类别等等信息
-->
<!-- ========================================================================================= -->
<!--
以HTML表格形式布局:org.apache.log4j.HTMLLayout
LocationInfo=true 默认值是false,输出java文件名称和行号
Title=日志信息 默认值是"Log4J Log Messages"
-->
<appender name="HTML" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.HTMLLayout">
<param name="LocationInfo" value="true"></param>
<param name="Title" value="日志信息"></param>
</layout>
</appender>
<!-- ========================================================================================= -->
<!--
可以灵活地指定布局模式:org.apache.log4j.PatternLayout
ConversionPattern=%m%n 指定怎样格式化指定的消息,如:%-4r %-5p %d{yyyy-MM-dd HH:mm:ssS} %c %m%n
Log4J采用类似C语言中的printf函数的打印格式格式化日志信息,打印参数如下:
-X号 X信息输出时左对齐;
%p 输出日志信息优先级,即 DEBUG,INFO,WARN,ERROR,FATAL,
%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS}
%r 输出自应用启动到输出该 log 信息耗费的毫秒数
%c 输出日志信息所属的类目,配置文件中的名字,通常就是所在类的全名(若使用 rootLogger)
%t 输出产生该日志事件的线程名
%l 输出日志事件的发生位置,相当于%C.%M(%F:%L)的组合,包括类目名、发生的线程,以及行数。举例:Testlog4.main(TestLog4.java:10)
%x 输出和当前线程相关联的 NDC(嵌套诊断环境),尤其用到像 java servlets 这样的多客户多线程的应用中。
%% 输出一个"%"字符
%F 输出日志消息产生时所在的文件名称
%L 输出代码中的行号
%m 输出代码中指定的消息,产生的日志具体信息
%n 输出一个回车换行符,Windows 平台为"\r\n",Unix 平台为"\n"输出日志信息换行
%M 输出日志信息所属的方法
可以在%与模式字符之间加上修饰符来控制其最小宽度、最大宽度、和文本的对齐方式。如:
%20c 指定输出 category 的名称,最小的宽度是 20,如果 category 的名称小于 20 的话,默认的情况下右对齐。
%-20c 指定输出 category 的名称,最小的宽度是 20,如果 category 的名称小于 20 的话,"-"号指定左对齐。
%.30c 指定输出 category 的名称,最大的宽度是 30,如果 category 的名称大于 30 的话,就会将左边多出的字符截掉,但小于 30 的话也不会有空格。
%20.30c 如果 category 的名称小于 20 就补空格,并且右对齐,如果其名称长于 30 字符,就从左边交远销出的字符截掉
-->
<appender name="Pattern" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="级别:[%-6p] 时间:[%d{yyy-MMM-dd HH:mm:ss,SSS}] %-50l %m%n"></param>
</layout>
</appender>
<!-- ========================================================================================= -->
<!--
XML文件布局日志:org.apache.log4j.xml.XMLLayout
LocationInfo=true 默认值是 false,输出 java 文件和行号
-->
<appender name="XML" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.xml.XMLLayout">
<param name="LocationInfo" value="true"></param>
</layout>
</appender>
<!-- ========================================================================================= -->
<!-- ========================================================================================= -->
<logger name="ConsoleLog" additivity="false">
<level value="WARN" />
<appender-ref ref="Console" />
</logger>
<logger name="FileLog" additivity="false">
<level value="WARN" />
<appender-ref ref="File" />
</logger>
<logger name="DailyRollingFileLog" additivity="false">
<level value="WARN" />
<appender-ref ref="DailyRollingFile" />
</logger>
<logger name="RollingFileLog" additivity="false">
<level value="WARN" />
<appender-ref ref="RollingFile" />
</logger>
<logger name="HTMLLog" additivity="false">
<level value="WARN" />
<appender-ref ref="HTML" />
</logger>
<logger name="PatternLog" additivity="false">
<level value="WARN" />
<appender-ref ref="Pattern" />
</logger>
<logger name="XMLLog" additivity="false">
<level value="WARN" />
<appender-ref ref="XML" />
</logger>
<!-- ========================================================================================= -->
<!--
优先级:ALL < DEBUG < INFO <WARN < ERROR < FATAL < OFF
-->
<root>
<priority value="ALL" />
<appender-ref ref="Console" />
</root>
</log4j:configuration>
log4j.xml配置文件的更多相关文章
- log4j.xml配置文件详解
一 log4j.xml 配置 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE log4j:c ...
- 怎样在log4j.xml配置文件中引入变量:小公司经验较多的我和阿里UC等大公司经验较多的Boss,一些技术交流和探讨
从最初学习使用log4j的时候,网上和书本上主要都是使用"log4j.properties"这种属性格式,配置日志.多年以来,一直使用这种格式,总的来说,简单.够用. 而有十 ...
- log4j日志文件 log4j.xml log4j.properties配置
1,导入log4j jar包; 2,配置log4j.xml或log4j.properties文件; ------------------------------------------------- ...
- 转载:log4j.properties log4j.xml 路径问题
自动加载配置文件: (1)如果采用log4j输出日志,要对log4j加载配置文件的过程有所了解.log4j启动时,默认会寻找source folder下的log4j.xml配置文件,若没有,会寻找lo ...
- Log4j XML配置
问题描述: Log4j XML配置 问题解决: (1)编写log4j.xml配置文件 注: 如上的XML文件必须以log4j.xml文件命名,否则无法读取配置文件,同样的如果 ...
- (转)log4j(七)——log4j.xml简单配置样例说明
背景:在公司中警察需要做技术支持,查看日志,而查看日志首先要自己清楚日志是如何生成的,所以有必要知道日志的前世今生! 转载出处:http://www.cnblogs.com/godtrue/p/644 ...
- log4j(七)——log4j.xml简单配置样例说明
一:测试环境与log4j(一)--为什么要使用log4j?一样,这里不再重述 二:老规矩,先来个栗子,然后再聊聊感受 (1)这里栗子有一点特别呀!给出了包名唉!想必有用,是的,配置文件中要特别说明一下 ...
- Log4j配置详解之log4j.xml
Log4j配置详解之log4j.xml Log4J的配置文件(Configuration File)就是用来设置记录器的级别.存放器和布局的,它可接key=value格式的设置或xml格式的设置信息. ...
- 解决log4j.xml问题http//jakarta.apache.org/log4j/ uri is not registered
在Eclipse中,配置log4j.xml出现"http //jakarta.apache.org/log4j/ uri is not registered"的错误信息. 原始的l ...
随机推荐
- LevelDB:一个快速轻量级的key-value存储库(译)
作者:Jeff Dean, Sanjay Ghemawat 原文:http://leveldb.googlecode.com/svn/trunk/doc/index.html 译者:phylips@b ...
- Ueditor图片缩放的设置
最近在用Ueditor,功能绝逼强大,不过也有遗憾的地方,上传图片的时候自动缩放的小了,想要图片按宽度整体等比缩放,找了好久,研究了下,终于找到解决方法了. 先改前台的的dialogs/image/i ...
- PHP截取字符串 兼容utf-8 gb2312
<?php function subString($string,$length,$append = false) { if(strlen($string) <= $length ) { ...
- android中常用菜单(menu)的基本知识
(一)选项菜单 1.简单的创建菜单: @Override public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMe ...
- CodeBlocks背景主题的设置
来自:http://blog.csdn.net/gzshun/article/details/8294305 找了好几个CodeBlocks的背景色,都不太如人意.感觉下面这个还不错,所以转来给大家分 ...
- Partitioner没有被调用的情况
map的输出,通过分区函数决定要发往哪个reducer. 有2种情况,我们自定义的Partitioner不会被调用 1) reducer个数为0 这种情况,没有reducer,不需要分区 2) red ...
- lib和dll的区别,生成(转)
首先介绍下静态库(静态链接库,.lib文件),动态库*(动态链接库,.dll文件)的概念,首先两者都是代码共享的方式. 静态库:在链接步骤中,连接器将从库文件取得所需的代码,复制到生成的可执行文件,这 ...
- static 与 final 修饰符
A) 用static(静态)修饰属性:一个类生成了N个对象,这些对象会共同使用一份静态的成员变量.一个对象对这个成员变量进行修改,其他对象的该成员变量的值也会随之变化. B) 我们可以通过 类名.成员 ...
- 手动书写小代码-foreach实现机制
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.C ...
- hdu 1195 Open the Lock
题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=1195 Open the Lock Description Now an emergent task f ...