我正在为我的应用程序服务器使用 GlassFish、JBoss、Tomcat。
我想在本地、开发、测试和生产环境中为我的应用程序使用不同的 log4j.properties。所以每个项目的应用程序都应该有不同的 log4j.properties 文件。
例如:对于本地我不希望 log4j 发送邮件,但在测试环境中发送电子邮件到 x@domain.com 在 prod 上发送电子邮件到 y@domain.com。
在另一个例子中:
project x send mail : -Dapp_conf_dir/projectx/log4j.properties
project y don't send mail : -Dapp_conf_dir/projecty/log4j.properties
我该怎么做?
顺便说一句,我正在使用 Jenkins(Hudson) 进行重新/部署。
谢谢。
项目 X 的示例 log4j.properties 文件:
log4j.rootLogger = DEBUG, console, file_out_debug, mail
# Email Appender Log Configuration
log4j.appender.mail=org.apache.log4j.net.SMTPAppender
#defines how othen emails are send
log4j.appender.mail.BufferSize=100000
log4j.appender.mail.SMTPHost=10.11.12.13
log4j.appender.mail.SMTPHost=smtp.domain.com
log4j.appender.email.SMTPUsername=user@domain.com
log4j.appender.email.SMTPPassword=***
log4j.appender.mail.From=Project X Error Web <projectx@domain.com>
log4j.appender.mail.To=email@domain.com
log4j.appender.mail.Subject=Project X Error Web
log4j.appender.mail.threshold=ERROR
log4j.appender.mai.filter=org.apache.log4j.varia.LevelRangeFilter
log4j.appender.mai.filter.levelMin=ERROR
log4j.appender.mai.filter.levelMax=FATAL
log4j.appender.mail.layout=org.apache.log4j.PatternLayout
log4j.appender.mail.layout.ConversionPattern=Project X - %d{dd.MM.yyyy HH\:mm\:ss} %5p [%l] - %m %n\n