求教spring aop 与 log4j 配合 完成系统日志功能,同时输出到文件与数据库。

2025-05-09 02:16:01
推荐回答(2个)
回答1:

1.将log4j-1.2.14.jar加入你的项目中;
2.在src/下创建log4j.properties|log4j.xml文件;
3.在web.xml中配置log4j的信息,如下:

log4jConfigLocation
/WEB-INF/classes/log4j.properties


org.springframework.web.util.Log4jConfigListener

下面给个例子
# This is the configuring for logging displayed in the Application Server
# log4j.rootCategory=INFO, stdout,logfile
log4j.rootCategory=DEBUG, A1,R

#console configure
log4j.appender.A1 = org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout = org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern = %-5p %c %x - %m%n
log4j.appender.R = org.apache.log4j.DailyRollingFileAppender
log4j.appender.R.File=d\:\\日志.log #定义输出的日志文件
log4j.appender.R.DatePattern='.'yyyy-MM-dd
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=[%d{HH\:mm\:ss\:SSS}][%C-%M] -%m%n
#stdout configure
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - <%m>%n

#logfile configure
log4j.appender.logfile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.logfile.File=log4j.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern= %d %p [%c] - <%m>%n

# Control logging for other open source packages
# Changing the log level to DEBUG when debug
log4j.logger.org.springframework=ERROR
log4j.logger.org.springframework.web.context.support.XmlWebApplicationContext=INFO
log4j.logger.org.hibernate=ERROR
log4j.logger.org.hibernate.cfg.HbmBinder=INFO
log4j.logger.org.hibernate.SQL=ERROR
log4j.logger.org.hibernate.cache=ERROR
log4j.logger.org.hibernate.transaction=INFO
log4j.logger.net.sf.ehcache=ERROR
log4j.logger.org.apache.struts=ERROR
log4j.logger.org.apache.commons=INFO
log4j.logger.org.directwebremoting=INFO

回答2:

嗯,楼上的方法是可以的,我们通常都用这种方法。