0

我正在为我的应用程序服务器使用 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
4

1 回答 1

0

如果您使用 maven,您可以为每种类型的构建创建配置文件(带有配置属性),并在构建之前启用所需的配置文件。因此,您可以在配置文件中使用配置文件设置。

于 2013-06-06T14:57:12.797 回答