log4j 配置spring MVC的异常信息输出到文件
各位大神,当前项目前端采用的是spring MVC,数据库操作使用的是ibatis,日志使用的是log4j.我在所有的controller将异常进行捕获,输出错误信息到文件或者控制台,但是spring MVC或者是后台的ibatis框架抛出的异常,捕获不到,不能输出到日志文件.
我的需求很简单,怎么配置log4j文件,使框架抛出的异常输出到日志文件.
当前log4j配置如下:
# Output pattern : date [thread] priority category - message
#log4j.rootLogger=warn, Console, DATABASE, FILE
log4j.rootLogger=debug, Console, DATABASE
#File
log4j.appender.FILE=org.apache.log4j.RollingFileAppender
log4j.appender.FILE.Append=true
log4j.appender.FILE.File=../logs/error_info.log
log4j.appender.FILE.Threshold=error
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%5p] - %c -%F(%L) -%m%n
log4j.appender.FILE.MaxFileSize=10MB
#Console
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n
#Database log
log4j.logger.forDatabase=WARN,databaseAppender
log4j.appender.databaseAppender=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.databaseAppender.URL=***(此处省略,不方便透露)
log4j.appender.databaseAppender.driver=org.gjt.mm.mysql.Driver
log4j.appender.databaseAppender.user=energy
log4j.appender.databaseAppender.password=energy
log4j.appender.databaseAppender.BufferSize=1
log4j.appender.databaseAppender.sql=INSERT INTO sys_log(userid,username,loglevel,operatetime,logcontent,note,broswer) VALUES('%X{userId}','%X{userName}','%X{logLevel}','%d{yyyy-MM-dd HH:mm:ss}','%m','%X{note}','%X{broswer}')
log4j.appender.databaseAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.databaseAppender.layout.ConversionPattern='%X{userId}','%X{userName}','%X{logLevel}','%d{yyyy-MM-dd HH:mm:ss}','%m','%X{note}','%X{broswer}'
# SqlMap logging configuration...
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
log4j.logger.java.sql.ResultSet=DEBUG --------------------编程问答-------------------- 顶一下,大神来看看哇 --------------------编程问答-------------------- 看你对=../logs/error_info.log那块的配置,可以参考着,把其它包路径的也配一个呗,难道不行么?除非它们真的没有打日志。 --------------------编程问答-------------------- 好好看看资料,那样记得狠一点。 --------------------编程问答-------------------- 你的代码里怎么样处理ibatis框架抛出的异常?
补充:Java , Java EE