欢迎您光临本小站。希望您在这里可以找到自己想要的信息。。。

log4j.properties文件详解以及模板

架构&设计模式 water 2988℃ 0评论

log4j.properties文件

log4j.rootCategory=debug, stdout,

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 
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.rootCategory = [ level ] , appenderName,
appenderName, 
其中,level 是日志记录的优先级,分为OFF,FATAL,ERROR,WA R N,INFO,DEBUG,
ALL或者您定义的级别.Log4j建议只使用四个级别,优先级从高到低分别是ERROR,
WA R N,INFO,DEBUG.通过在这里定义的级别,您可以控制到应用程序中相应级别的日
志信息的开关.比如在这里定义了INFO级别,则应用程序中所有DEBUG级别的日志信息
将不被打印出来.appenderName就是指定日志信息输出到哪个地方.您可以同时指定多个
输出目的地. 
②配置日志信息输出目的地Appender,其语法为 
log4j.appender.appenderName =
fully.qualified.name.of.appender.class 
log4j.appender.appenderName.option1 =
value1 

log4j.appender.appenderName.option =
valueN 
其中,Log4j提供的appender有以下几种: 
org.apache.log4j.ConsoleAppender(控制台), 
org.apache.log4j.FileAppender(文件), 
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),
org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件), 
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方) 
③配置日志信息的格式(布局),其语法为: 
log4j.appender.appenderName.layout =
fully.qualified.name.of.layout.class 
log4j.appender.appenderName.layout.option1 =
value1 

log4j.appender.appenderName.layout.option
= valueN 
其中,Log4j提供的layout有以下几种: 
org.apache.log4j.HTMLLayout(以HTML表格形式布局), 
org.apache.log4j.PatternLayout(可以灵活地指定布局模式), 
org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串), 
org.apache.log4j.TTCCLayout(包含日志产生的时间,线程,类别等等信息) 
④Log4J采用类似C语言中的printf函数的打印格式格式化日志信息,打印参数如下: 
%m 输出代码中指定的消息 
%p 输出优先级,即DEBUG,INFO,WA R N,ERROR,FATAL 
%r 输出自应用启动到输出该log信息耗费的毫秒数 
%c 输出所属的类目,通常就是所在类的全名 
%t 输出产生该日志事件的线程名 
%n 输出一个回车换行符,Windows平台为"\r\n",Unix平台为"\n" 
%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式, 
比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日
22:10:28,921 
%l 输出日志事件的发生位置,包括类目名,发生的线程,以及在代码中的行数.
这里有2点要说明的,
一是关于log4j.appender.R.File=example.log
,如果不给定绝对路径的话,log文件的默认路径是user.dir,可以通过System.getProperty("user.dir")来得到。
而是关于%5p [%t] (%F:%L) – %m%n  5代表优先级字符串占用几个位置,%F代表文件名,%L代表行号。

使用xml来充当配置,没有去看过,所以也不了解,但是在网上也看到过依赖jar包里的log4j配
置将自己应用的log4j.properties屏蔽掉的问题,说是classpath中的jxls-core-0.9.5.jar中的
log4j.xml,该配置优先于他的log4j.properties,导致log4j.properties设置失效,不过不太了解是什么原因,但是
有人给出了解决方案,

手工重新 configure一下:

org.apache.log4j.LogManager.resetConfiguration();
然后:

org.apache.log4j.PropertyConfigurator.configure("c:/yourlog4j.properties");

或者

org.apache.log4j.xml.DOMConfigurator.configure("c:/yourlog4j.xml");

##Log4J配置文件实现了输出到控制台、文件、回滚文件、发送日志邮件、输出到数据库日志表、自定义标签等全套功能。择其一二使用就够用了。

log4j.rootLogger=DEBUG,
CONSOLE,A1

log4j.addivity.org.apache=true

# 应用于控制台

log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender

log4j.appender.Threshold=DEBUG

log4j.appender.CONSOLE.Target=System.out

log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout

log4j.appender.CONSOLE.layout.ConversionPattern=[framework]
%d – %c -%-4r [%t] %-5p %c %x – %m%n

#log4j.appender.CONSOLE.layout.ConversionPattern=[start]%d{DATE}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD]
n%c[CATEGORY]%n%m[MESSAGE]%n%n

#应用于文件

log4j.appender.FILE=org.apache.log4j.FileAppender

log4j.appender.FILE.File=file.log

log4j.appender.FILE.Append=false

log4j.appender.FILE.layout=org.apache.log4j.PatternLayout

log4j.appender.FILE.layout.ConversionPattern=[framework]
%d – %c -%-4r [%t] %-5p %c %x – %m%n

# Use this layout for LogFactor 5
analysis
 

# 应用于文件回滚

log4j.appender.ROLLING_FILE=org.apache.log4j.RollingFileAppender

log4j.appender.ROLLING_FILE.Threshold=ERROR

log4j.appender.ROLLING_FILE.File=rolling.log

log4j.appender.ROLLING_FILE.Append=true

log4j.appender.ROLLING_FILE.MaxFileSize=10KB

log4j.appender.ROLLING_FILE.MaxBackupIndex=1

log4j.appender.ROLLING_FILE.layout=org.apache.log4j.PatternLayout

log4j.appender.ROLLING_FILE.layout.ConversionPattern=[framework]
%d – %c -%-4r [%t] %-5p %c %x – %m%n

#应用于socket

log4j.appender.SOCKET=org.apache.log4j.RollingFileAppender

log4j.appender.SOCKET.RemoteHost=localhost

log4j.appender.SOCKET.Port=5001

log4j.appender.SOCKET.LocationInfo=true

# Set up for Log Facter 5

log4j.appender.SOCKET.layout=org.apache.log4j.PatternLayout

log4j.appender.SOCET.layout.ConversionPattern=[start]%d{DATE}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD]%n%c[CATEGORY]%n%m[MESSAGE]%n%n

# Log Factor 5 Appender

log4j.appender.LF5_APPENDER=org.apache.log4j.lf5.LF5Appender

log4j.appender.LF5_APPENDER.MaxNumberOfRecords=2000

# 发送日志给邮件

log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender

log4j.appender.MAIL.Threshold=FATAL

log4j.appender.MAIL.BufferSize=10

log4j.appender.MAIL.From=web@www.wuset.com

log4j.appender.MAIL.SMTPHost=www.wusetu.com

log4j.appender.MAIL.Subject=Log4J
Message

log4j.appender.MAIL.To=web@www.wusetu.com

log4j.appender.MAIL.layout=org.apache.log4j.PatternLayout

log4j.appender.MAIL.layout.ConversionPattern=[framework]
%d – %c -%-4r [%t] %-5p %c %x – %m%n

# 用于数据库

log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender

log4j.appender.DATABASE.URL=jdbc:mysql://localhost:3306/test

log4j.appender.DATABASE.driver=com.mysql.jdbc.Driver

log4j.appender.DATABASE.user=root

log4j.appender.DATABASE.password=

log4j.appender.DATABASE.sql=INSERT INTO LOG4J
(Message) VALUES ('[framework] %d – %c -%-4r
[%t] %-5p %c %x – %m%n')

log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout

log4j.appender.DATABASE.layout.ConversionPattern=[framework]
%d – %c -%-4r [%t] %-5p %c %x – %m%n

log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender

log4j.appender.A1.File=SampleMessages.log4j

log4j.appender.A1.DatePattern=yyyyMMdd-HH'.log4j'

log4j.appender.A1.layout=org.apache.log4j.xml.XMLLayout

#自定义Appender

log4j.appender.im =
net.cybercorlin.util.logger.appender.IMAppender

log4j.appender.im.host =
mail.cybercorlin.net

log4j.appender.im.username =
username

log4j.appender.im.password =
password

log4j.appender.im.recipient =corlin@cybercorlin.net

log4j.appender.im.layout=org.apache.log4j.PatternLayout

log4j.appender.im.layout.ConversionPattern
=[framework] %d – %c -%-4r [%t] %-5p %c %x – %m%n

转载请注明:学时网 » log4j.properties文件详解以及模板

喜欢 (0)or分享 (0)

您必须 登录 才能发表评论!