我正在开发一个在Struts1.3 + EJB3.0 + Glassfish2.1.1上开发的企业应用程序。
要求是将我的应用程序日志路由到我已定义的文件,并且所有特定于服务器的日志应该转到glassfish的默认记录器,即server.log
。
我正在使用log4j-1.2.15.jar
和log4j.properties
。此属性文件的内容为 -
#-------------------------------------------------------------------------------
og4j.rootLogger=DEBUG, ROOT, CONSOLE
log4j.appender.ROOT=org.apache.log4j.RollingFileAppender
log4j.appender.ROOT.File=/appl/svc_elcpn/domains/elcpn_domain1/logs/SmartLog.log
log4j.appender.ROOT.MaxFileSize=4000KB
log4j.appender.ROOT.MaxBackupIndex=10
log4j.appender.ROOT.layout=org.apache.log4j.PatternLayout
log4j.appender.ROOT.layout.ConversionPattern=[%d{MMM dd HH:mm:ss}] %-5p (%F:%L) - %m%n
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=[%d{MMM dd HH:mm:ss}] %-5p (%F:%L) - %m%n
#--------------------------------------------------------------------------------
应用程序日志很适合SmartLog.log
(我的日志文件),但它也会转到server.log
。
问题是如何阻止它转到server.log
(默认日志文件)?
答案 0 :(得分:1)
我认为您应该从CONSOLE
删除log4j.properties
记录器。