将应用程序(struts + ejb3 Web应用程序)特定日志记录到我自己的日志文件中,而服务器(Glassfish)特定日志记录到server.log

时间:2010-08-24 09:05:00

标签: logging glassfish log4j

我正在开发一个在Struts1.3 + EJB3.0 + Glassfish2.1.1上开发的企业应用程序。

要求是将我的应用程序日志路由到我已定义的文件,并且所有特定于服务器的日志应该转到glassfish的默认记录器,即server.log

我正在使用log4j-1.2.15.jarlog4j.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(默认日志文件)?

1 个答案:

答案 0 :(得分:1)

我认为您应该从CONSOLE删除log4j.properties记录器。