log4j.properties详解与配置步骤
⼀、log4j.properties 的使⽤详解
1.输出级别的种类
ERROR、WARN、INFO、DEBUG
ERROR 为严重错误主要是程序的错误
WARN 为⼀般警告,⽐如session丢失
INFO 为⼀般要显⽰的信息,⽐如登录登出
DEBUG 为程序的调试信息
2.配置⽇志信息输出⽬的地
log4j.appender.appenderName = fully.qualified.name.of.appender.class
3.配置⽇志信息的格式
log4j.appender.appenderName.layout = fully.qualified.name.of.layout.class
4.控制台选项
Threshold=DEBUG:指定⽇志消息的输出最低层次。
ImmediateFlush=true:默认值是true,意谓着所有的消息都会被⽴即输出。
:默认情况下是:System.out,指定输出控制台
FileAppender 选项
Threshold=DEBUF:指定⽇志消息的输出最低层次。
ImmediateFlush=true:默认值是true,意谓着所有的消息都会被⽴即输出。
:指定消息输出到⽂件。
Append=false:默认值是true,即将消息增加到指定⽂件中,false指将消息覆盖指定的⽂件内容。
RollingFileAppender 选项
Threshold=DEBUG:指定⽇志消息的输出最低层次。
ImmediateFlush=true:默认值是true,意谓着所有的消息都会被⽴即输出。
:指定消息输出到⽂件。
Append=false:默认值是true,即将消息增加到指定⽂件中,false指将消息覆盖指定的⽂件内容。
MaxFileSize=100KB: 后缀可以是KB, MB 或者是 GB. 在⽇志⽂件到达该⼤⼩时,将会⾃动滚动,即将原来的内容移到mylog.log.1⽂件。
MaxBackupIndex=2:指定可以产⽣的滚动⽂件的最⼤数。
log4j.appender.A1.layout.ConversionPattern=%-4r %-5p %d{yyyy-MM-dd HH:mm:ssS} %c %m%n
5.⽇志信息格式中⼏个符号所代表的含义:
-X号: X信息输出时左对齐;
%p: 输出⽇志信息优先级,即DEBUG,INFO,WARN,ERROR,FATAL,
%d: 输出⽇志时间点的⽇期或时间,默认格式为ISO8601,也可以在其后指定格式,⽐如:%d{yyy MMM dd
HH:mm:ss,SSS},输出类似:2002年10⽉18⽇ 22:10:28,921
%r: 输出⾃应⽤启动到输出该log信息耗费的毫秒数
%c: 输出⽇志信息所属的类⽬,通常就是所在类的全名
%t: 输出产⽣该⽇志事件的线程名
%l: 输出⽇志事件的发⽣位置,相当于%C.%M(%F:%L)的组合,包括类⽬名、发⽣的线程,以及在代码中的⾏数。举例:Testlog4.main (TestLog4.java:10)
%x: 输出和当前线程相关联的NDC(嵌套诊断环境),尤其⽤到像java servlets这样的多客户多线程的应⽤中。
%%: 输出⼀个"%"字符
%F: 输出⽇志消息产⽣时所在的⽂件名称
%L: 输出代码中的⾏号
%m: 输出代码中指定的消息,产⽣的⽇志具体信息
%n: 输出⼀个回车换⾏符,Windows平台为"/r/n",Unix平台为"/n"输出⽇志信息换⾏
可以在%与模式字符之间加上修饰符来控制其最⼩宽度、最⼤宽度、和⽂本的对齐⽅式。
如:
1) %20c:指定输出category的名称,最⼩的宽度是20,如果category的名称⼩于20的话,默认的情况下
右对齐。
2) %-20c:指定输出category的名称,最⼩的宽度是20,如果category的名称⼩于20的话,"-"号指定左对
齐。
3) %.30c:指定输出category的名称,最⼤的宽度是30,如果category的名称⼤于30的话,就会将左边多
出的字符截掉,但⼩于30的话也不会有空格。
4) %20.30c:如果category的名称⼩于20就补空格,并且右对齐,如果其名称长于30字符,就从左边较远
输出的字符截掉。
⼆、log4j.properties的配置
1、配置步骤
1)在应⽤程序中使⽤log4j
2) 把log4j-*.*jar放⼊CLASSPATH变量中
3) 新建⼀个配置⽂件log4j.properties,放于bin⽂件下
2.新建⼀个配置⽂件log4j.properties,如:
Logger=WARN, stdout, R
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
# Pattern to output the caller's file name and line number.
#log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
# Print the date in ISO 8601 format
log4j.appender.stdout.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=example.log
log4j.appender.R.MaxFileSize=100KB
# Keep one backup file
log4j.appender.R.MaxBackupIndex=1
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
log4j与log4j2 # Print only messages of level WARN or above in the package com.foo.
log4j.logger.foo=WARN
⽂章摘⾃:blog.csdn/edward0830ly/article/details/8250412
两种配置如下:
#Logger=error, ServerDailyRollingFile, stdout
#log4j.appender.ServerDailyRollingFile=org.apache.log4j.DailyRollingFileAppender
#log4j.appender.ServerDailyRollingFile.DatePattern='.'yyyy-MM-dd
##log4j.appender.ServerDailyRollingFile.File=D:/test.log
#log4j.appender.ServerDailyRollingFile.File=/jboss/logs/ImageTask.log
#log4j.appender.ServerDailyRollingFile.layout=org.apache.log4j.PatternLayout
#log4j.appender.ServerDailyRollingFile.layout.ConversionPattern=%d - %m%n
#log4j.appender.ServerDailyRollingFile.Append=true
#
#log4j.appender.stdout=org.apache.log4j.ConsoleAppender
#log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
#log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %p [%c] %m%n
>>>>>>>>>>>>>># Logger=error,stdout,R
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
log4j.appender.R=org.apache.log4j.RollingFileAppender
#log4j.appender.R.File=D:/test.log
log4j.appender.R.File=/jboss/logs/ImageTask.log
log4j.appender.R.MaxFileSize=200MB
log4j.appender.R.MaxBackupIndex=20
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
基于Log4j改进的日志存储应用研究
下一篇 »
发表评论