### set log levels ###
log4j.rootLogger = INFO,stdout,file
#记录日志的内容
log4j.logger.SYSTEM = WARN,DATABASE
### ###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern =%-d{yyyy-MM-dd HH:mm:ss} - [ %p ] %m%n
log4j.logger.com.ibatis = DEBUG
log4j.logger.com.ibatis.common.jdbc.SimpleDataSource = DEBUG
log4j.logger.com.ibatis.common.jdbc.ScriptRunner = DEBUG
log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate = DEBUG
log4j.logger.java.sql.Connection = DEBUG
log4j.logger.java.sql.Statement = DEBUG
log4j.logger.java.sql.PreparedStatement = DEBUG, fileout
log4j.logger.java.sql.ResultSet = DEBUG
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Threshold=INFO
log4j.appender.CONSOLE.Target=System.out
log4j.appender.CONSOLE.Encoding=GBK
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.DATABASE=org.apache.log4j.jdbc.JDBCAppender
#日志级别
log4j.appender.DATABASE.Threshold=WARN
#当有10条时一起存入数据库
#log4j.appender.DATABASE.BufferSize=10
log4j.appender.DATABASE.URL=${db.url}
log4j.appender.DATABASE.driver=${db.driver}
log4j.appender.DATABASE.user=${db.user}
log4j.appender.DATABASE.password=${db.password}
#数据库语句
log4j.appender.DATABASE.sql=INSERT INTO "M_TIMEPIECETASK_T_TASK_LOGS" VALUES (sys_guid(),'%m','%d{yyyy-MM-dd HH:mm:ss}','%c','%L','%l','%F','%p')
2、logger声明
log4j.logger.SYSTEM = WARN,DATABASE
第一个代表级别,第二个代表标识
如log4j.appender.DATABASE.BufferSize=10
类中声明时需要以:private Logger logger = Logger.getLogger("SYSTEM");
才能保证持久化到数据库中成功
3、log4j配置参数
以下为log4j中的配置参数:
%m 输出代码中指定的消息
%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL
%r 输出自应用启动到输出该log信息耗费的毫秒数
%t 输出产生该日志事件的线程名;
%n 输出一个回车换行符,Windows平台为"\r\n",Unix平台为"\n"
%d 输出日志时间的日期或时间,默认格式为ISO8601,也可以在其后指定格式,
比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:2008年10月18日22:10:28:832
%c 输出所属的类目,通常就是所在类的全名,如“iNotes.Default”;
%l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数
%L 输出代码中的行数;
%F 输出代码中的文件名;
分享到:
2013-10-28 11:19
浏览 1721
评论