I am using GlassFish, JBoss, Tomcat for my application servers.
I want to use different log4j.properties for my applications on local, dev, test and prod envirment. So every project's application should have different log4j.properties file.
For example: For local I don't want log4j to send mail but on test env send email to x@domain.com on prod send email to y@domain.com.
On other example:
project x send mail : -Dapp_conf_dir/projectx/log4j.properties
project y don't send mail : -Dapp_conf_dir/projecty/log4j.properties
How can I do it?
By the way I am using Jenkins(Hudson) for re/deployment.
Thanks.
Sample log4j.properties file for Project X:
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