Log4j的配置过程网上到处都是,一搜便得。使用也非常简单,10分钟内搞定。这里主要总结一下Log4j的优势:
1、支持按级别输出日志
日志信息的优先级从高到低有FATAL、ERROR、WARN、INFO、DEBUG,分别用来指定这条日志信息的重要程度。
如:
log4j.rootCategory=DEBUG,stdout,R
2、支持同时将日志输出到多个目的地(Appender)
Appender包括console(控制台), files(文件), GUI components(图形的组件), remote socket servers(socket 服务),
JMS(java信息服务), NT Event Loggers(NT的事件日志), and remote UNIX Syslog daemons(远程UNIX的后台日志服务)。它
也可以做到异步记录。
Log4j提供的Appender种类有:
//输出到控制台
org.apache.log4j.ConsoleAppender
//输出到文件,应该同时指定文件名
org.apache.log4j.FileAppender
//每天产生一个日志文件,应该同时指定文件名格式
org.apache.log4j.DailyRollingFileAppender
//文件大小到达指定尺寸的时候产生新文件,应该同时制定保留多少个备份
org.apache.log4j.RollingFileAppender
org.apache.log4j.jdbc.JDBCAppender
//输出到数据库,应该同时指定数据库连接参数和INSERT SQL语句
//将日志信息以流格式发送到任意指定的地方,如上面提到的GUI组件,Socket,JMS、Syslog……
//参见:http://wanwok.javaeye.com/blog/616829
org.apache.log4j.WriterAppender
3、输出的日志格式支持多种Layout
//输出为HTML文件,以表格形式布局——比纯文本看起来是不是清晰多了
org.apache.log4j.HTMLLayout
//可以灵活地指定布局模式,应该同时指定ConversionPattern,可以按指定的格式输出时间日期、毫秒、类名、函数名、行数、线程等。
org.apache.log4j.PatternLayout
//简单格式,只包含日志信息的级别和信息字符串
org.apache.log4j.SimpleLayout
//包含日志产生的时间、线程、类名等等信息
org.apache.log4j.TTCCLayout
4、可以支持异步日志,提升性能
5、非常重要的一点——既支持配置文件指定相关参数,也支持运行时动态改变日志级别等参数
另外一个问题,Log4j通常和common-logging配合使用,这篇文章有说明:
为什么同时使用commons-logging和Log4j
http://zy77612.javaeye.com/blog/670506