log4j配置
来源:互联网 发布:政务数据资源管理平台 编辑:程序博客网 时间:2024/05/28 11:47
log4j的基本配置格式如下:
#配置根Logger
log4j.rootLogger = [level], appenderName1, appenderName2, ...
#配置日志信息输出
log4j.appender.appenderName = appender.class
log4j.appender.appenderName.option1 = value
...
log4j.appender.appenderName.optionN = value
#配置日志信息布局
log4j.appender.appenderName.layout = layout.class
log4j.appender.appenderName.layout.option1 = value
...
log4j.appender.appenderName.layout.optionN = value
[level]为日志输出级别:FATAL, ERROR, WARN, INFO, DEBUG
appender为日志输出位置:
org.apache.log4j.ConsoleAppender(控制台),
org.apache.log4j.FileAppender(文件),
org.apache.log4j.DailyRollingFileAppender(每天产生一个文件),
org.apache.log4j.RollingFileAppender(文件大小达到指定大小时产生一个新的文件),
org.apache.log4j.WriterAppender(将日志以流的形式发送到任意指定的地方)
ConsoleAppender选项:
Threshold:指定日志信息的最低输出级别,默认为DEBUG。
ImmediateFlush:表示所有消息都会被立即输出,设为false则不输出,默认值是true。
Target:默认值是System.out。
FileAppender选项:
Threshold:指定日志信息的最低输出级别,默认为DEBUG。
ImmediateFlush:表示所有消息都会被立即输出,设为false则不输出,默认值是true。
Append:true表示消息增加到指定文件中,false则将消息覆盖指定的文件内容,默认值是true。
File:指定日志文件路径。
DailyRollingFileAppender选项:
Threshold:指定日志信息的最低输出级别,默认为DEBUG。
ImmediateFlush:表示所有消息都会被立即输出,设为false则不输出,默认值是true。
Append:true表示消息增加到指定文件中,false则将消息覆盖指定的文件内容,默认值是true。
File:指定日志文件路径。
DatePattern='.'yyyy-MM:每月滚动一次日志文件,即每月产生一个新的日志文件。当前月的日志文件名为logging.log4j,前一个月的日志文件名为logging.log4j.yyyy-MM。
另外,也可以指定按周、天、时、分等来滚动日志文件,对应的格式如下:
'.'yyyy-MM:每月
'.'yyyy-ww:每周
'.'yyyy-MM-dd:每天
'.'yyyy-MM-dd-a:每天两次
'.'yyyy-MM-dd-HH:每小时
'.'yyyy-MM-dd-HH-mm:每分钟
RollingFileAppender选项:
Threshold:指定日志信息的最低输出级别,默认为DEBUG。
ImmediateFlush:表示所有消息都会被立即输出,设为false则不输出,默认值是true。
Append:true表示消息增加到指定文件中,false则将消息覆盖指定的文件内容,默认值是true。
File:指定日志文件路径。
MaxFileSize:后缀可以是KB, MB 或者GB。在日志文件到达该大小时,将会自动滚动,即将原来的内容移到logging.log4j.1文件中。
MaxBackupIndex:指定可以产生的滚动文件的最大数,例如,设为2则可以产生logging.log4j.1,logging.log4j.2两个滚动文件和一个logging.log4j文件。
WriterAppender选项:
encoding:用来规定了输出String的编码格式,如果没有设置编码格式,那么按照系统的默认编码格式输出。
ImmediateFlush:表示所有消息都会被立即输出,设为false则不输出,默认值是true。
注:WriterAppender不能被直接配置使用,使用方式如下
Logger.getRootLogger().setLevel(Level.INFO);
WriterAppender wa=new WriterAppender(new SimpleLayout(),System.out);
Logger.getRootLogger().addAppender(wa);
layout为日志输出格式:
org.apache.log4j.HTMLLayout(以HTML表格形式布局),
org.apache.log4j.PatternLayout(可以灵活地制定布局模式),
org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),
org.apache.log4j.TTCCLayout(包含日志产生的时间,线程,类别等信息)
layout参数:log4j采用类似C语言的printf的打印格式格式化日志信息
%m 输出代码中的日志信息
%p 输出优先级,即DEBUG, INFO, WARN, ERROR, FATAL
%r 输出自应用启动到输出该日志信息所耗费的毫秒数
%c 输出所属的类别,一般为类的全名
%t 输出产生该日志的线程名
%l 输出日志事件的发生位置,相当于%c.%M(%F:%L)的组合,包括类名,方法名,文件名以及在代码中的行数
%n 输出一个回车符
%d 输出日志时间,默认格式为ISO8601,可在其后指定格式,如:%d{yyyy-MM-dd HH:mm:ss SSS}
%M 输出产生日志信息的方法名
%F 输出产生日志信息的文件名称
%L 输出日志代码行号
%x 输出和当前线程相关联的NDC(嵌套诊断环境),尤其用到像java servlets这样的多客户多线程的应用中
%% 输出一个"%"字符
另外,还可以在%与格式字符之间加上修饰符来控制其最小长度、最大长度、和文本的对齐方式。如:
c:指定输出category的名称,最小的长度是20,如果category的名称长度小于20的话,默认的情况下右对齐。
%-20c:"-"号表示左对齐。
%.30c:指定输出category的名称,最大的长度是30,如果category的名称长度大于30的话,就会将左边多出的字符截掉,但小于30的话也不会补空格。
为目录设置单独的日志级别:
log4j.logger.[package] = [level], appenderName
初始化log4j:
// 使用.properties配置文件的方式
String logPath = "配置文件路径";
PropertyConfigurator.configure(logPaht);
// 使用.xml配置文件的方式
URL url = 配置文件的URL;
DOMConfigurator.configure(url);
#配置根Logger
log4j.rootLogger = [level], appenderName1, appenderName2, ...
#配置日志信息输出
log4j.appender.appenderName = appender.class
log4j.appender.appenderName.option1 = value
...
log4j.appender.appenderName.optionN = value
#配置日志信息布局
log4j.appender.appenderName.layout = layout.class
log4j.appender.appenderName.layout.option1 = value
...
log4j.appender.appenderName.layout.optionN = value
[level]为日志输出级别:FATAL, ERROR, WARN, INFO, DEBUG
appender为日志输出位置:
org.apache.log4j.ConsoleAppender(控制台),
org.apache.log4j.FileAppender(文件),
org.apache.log4j.DailyRollingFileAppender(每天产生一个文件),
org.apache.log4j.RollingFileAppender(文件大小达到指定大小时产生一个新的文件),
org.apache.log4j.WriterAppender(将日志以流的形式发送到任意指定的地方)
ConsoleAppender选项:
Threshold:指定日志信息的最低输出级别,默认为DEBUG。
ImmediateFlush:表示所有消息都会被立即输出,设为false则不输出,默认值是true。
Target:默认值是System.out。
FileAppender选项:
Threshold:指定日志信息的最低输出级别,默认为DEBUG。
ImmediateFlush:表示所有消息都会被立即输出,设为false则不输出,默认值是true。
Append:true表示消息增加到指定文件中,false则将消息覆盖指定的文件内容,默认值是true。
File:指定日志文件路径。
DailyRollingFileAppender选项:
Threshold:指定日志信息的最低输出级别,默认为DEBUG。
ImmediateFlush:表示所有消息都会被立即输出,设为false则不输出,默认值是true。
Append:true表示消息增加到指定文件中,false则将消息覆盖指定的文件内容,默认值是true。
File:指定日志文件路径。
DatePattern='.'yyyy-MM:每月滚动一次日志文件,即每月产生一个新的日志文件。当前月的日志文件名为logging.log4j,前一个月的日志文件名为logging.log4j.yyyy-MM。
另外,也可以指定按周、天、时、分等来滚动日志文件,对应的格式如下:
'.'yyyy-MM:每月
'.'yyyy-ww:每周
'.'yyyy-MM-dd:每天
'.'yyyy-MM-dd-a:每天两次
'.'yyyy-MM-dd-HH:每小时
'.'yyyy-MM-dd-HH-mm:每分钟
RollingFileAppender选项:
Threshold:指定日志信息的最低输出级别,默认为DEBUG。
ImmediateFlush:表示所有消息都会被立即输出,设为false则不输出,默认值是true。
Append:true表示消息增加到指定文件中,false则将消息覆盖指定的文件内容,默认值是true。
File:指定日志文件路径。
MaxFileSize:后缀可以是KB, MB 或者GB。在日志文件到达该大小时,将会自动滚动,即将原来的内容移到logging.log4j.1文件中。
MaxBackupIndex:指定可以产生的滚动文件的最大数,例如,设为2则可以产生logging.log4j.1,logging.log4j.2两个滚动文件和一个logging.log4j文件。
WriterAppender选项:
encoding:用来规定了输出String的编码格式,如果没有设置编码格式,那么按照系统的默认编码格式输出。
ImmediateFlush:表示所有消息都会被立即输出,设为false则不输出,默认值是true。
注:WriterAppender不能被直接配置使用,使用方式如下
Logger.getRootLogger().setLevel(Level.INFO);
WriterAppender wa=new WriterAppender(new SimpleLayout(),System.out);
Logger.getRootLogger().addAppender(wa);
layout为日志输出格式:
org.apache.log4j.HTMLLayout(以HTML表格形式布局),
org.apache.log4j.PatternLayout(可以灵活地制定布局模式),
org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),
org.apache.log4j.TTCCLayout(包含日志产生的时间,线程,类别等信息)
layout参数:log4j采用类似C语言的printf的打印格式格式化日志信息
%m 输出代码中的日志信息
%p 输出优先级,即DEBUG, INFO, WARN, ERROR, FATAL
%r 输出自应用启动到输出该日志信息所耗费的毫秒数
%c 输出所属的类别,一般为类的全名
%t 输出产生该日志的线程名
%l 输出日志事件的发生位置,相当于%c.%M(%F:%L)的组合,包括类名,方法名,文件名以及在代码中的行数
%n 输出一个回车符
%d 输出日志时间,默认格式为ISO8601,可在其后指定格式,如:%d{yyyy-MM-dd HH:mm:ss SSS}
%M 输出产生日志信息的方法名
%F 输出产生日志信息的文件名称
%L 输出日志代码行号
%x 输出和当前线程相关联的NDC(嵌套诊断环境),尤其用到像java servlets这样的多客户多线程的应用中
%% 输出一个"%"字符
另外,还可以在%与格式字符之间加上修饰符来控制其最小长度、最大长度、和文本的对齐方式。如:
c:指定输出category的名称,最小的长度是20,如果category的名称长度小于20的话,默认的情况下右对齐。
%-20c:"-"号表示左对齐。
%.30c:指定输出category的名称,最大的长度是30,如果category的名称长度大于30的话,就会将左边多出的字符截掉,但小于30的话也不会补空格。
为目录设置单独的日志级别:
log4j.logger.[package] = [level], appenderName
初始化log4j:
// 使用.properties配置文件的方式
String logPath = "配置文件路径";
PropertyConfigurator.configure(logPaht);
// 使用.xml配置文件的方式
URL url = 配置文件的URL;
DOMConfigurator.configure(url);
参考:http://www.cnblogs.com/ITEagle/archive/2010/04/23/1718365.html
0 0
- log4j---log4j 的配置
- log4j.properties log4j 配置
- log4j配置log4j.properties
- [Log4j] 配置Log4j
- 配置Log4j,Log4j教程
- [Log4j] 配置Log4j
- log4j配置
- Log4j 配置
- Log4j配置
- log4j配置
- log4j配置
- LOG4J配置
- Log4j配置
- log4j配置
- log4j配置
- log4j配置
- log4j 配置
- log4j 配置
- 除去字符串两端的空格
- java 生成 解析XML 文件 Dom4J
- Trusting all certificates with okHttp
- PIC24F32KA304-关于UART轮训发送数据出现数据发送不全问题的解决
- maven自定义目录
- log4j配置
- Spring MVC-Request method 'POST' not supported:
- Range
- hadoop配置文件
- 梵塔问题
- Linux vi命令
- hdu3586 Information Disturbing 树形DP
- 在linux中数据库备份遇到的问题
- ceph入门----ceph安装