以下は、log4j プロパティ ファイルの内容です。以下に示すように、2 つのログ アペンダーを定義して、WARN ログを 2 つの異なるログ ファイルに書き込もうとしています。
問題 : ログが両方のファイルに書き込まれています (重複)。
log4j.rootLogger=WARN, A1, xmlout, GPSMSPLogger
#log4j.rootLogger=DEBUG, xmlout
log4j.logger.mailLogger=ALL, mail
log4j.category.com.moodys=INFO
# Setting additivity to false
# For not writing same logs into two files
# R3'13
log4j.additivity.org.apache=false
log4j.additivity.A1=false;
log4j.additivity.GPSMSPLogger=false;
log4j.logger.GPSMSPLogger=DEBUG,GPSMSPLogger
# A1 is set to be a ConsoleAppender.
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.threshold=DEBUG
# A1 uses PatternLayout.
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%d [%t] %-5p %c %x %m%n
# xmlout is set to be a DatedFileAppender
log4j.appender.xmlout=biz.minaret.log4j.DatedFileAppender
log4j.appender.xmlout.Threshold=DEBUG
#log4j.appender.xmlout.Directory=e\:\\logs\\surveillance.
#log4j.appender.xmlout.Prefix=surveillance
#log4j.appender.xmlout.Suffix=.log
log4j.appender.xmlout.Append=true
log4j.appender.xmlout.layout=org.apache.log4j.xml.XMLLayout
log4j.appender.mail=org.apache.log4j.net.SMTPAppender
#log4j.appender.mail.To=dmitry.nikelshpur@moodys.com
#log4j.appender.mail.To=valeriy.vinnychuk@moodys.com
log4j.appender.mail.To=Moody's-SFGSMART@moodys.com
log4j.appender.mail.From="SFG SMART Application Mailer [Dmitry Nikelshpur]"
# Q2'12
#log4j.appender.mail.SMTPHost=mdynycmsxswp.moodys.com
log4j.appender.mail.SMTPHost=${SMTP.MAIL.SERVER}
# Q2'12
log4j.appender.mail.Threshold=ERROR
log4j.appender.mail.BufferSize=1
log4j.appender.mail.Subject=Test Surveillance logger email handler *** PLEASE DISREGARD ***
log4j.appender.mail.layout=com.moodys.sfg.smart.util.SMARTMailerHTMLLayout
log4j.additivity.mailLogger=true
log4j.appender.mail.layout.LocationInfo=true
# R3'13
# Setup GPSMSPLogger
log4j.appender.GPSMSPLogger=biz.minaret.log4j.DatedFileAppender
log4j.appender.GPSMSPLogger.layout=org.apache.log4j.PatternLayout
log4j.appender.GPSMSPLogger.layout.ConversionPattern=%d [%t] %-5p %c %x %m%n
log4j.appender.GPSMSPLogger.Directory=${msp.log.directory}
log4j.appender.GPSMSPLogger.Prefix=gps_msp.
log4j.appender.GPSMSPLogger.Suffix=.log
log4j.appender.GPSMSPLogger.Threshold=DEBUG
以下は、ログに使用されるコードです。
public class GPSMSPLogger {
public static Logger getLogger(){
return Logger.getLogger("GPSMSPLogger");
}
public static void main(String arg[]){
getLogger().info("Log example INFO.......... ");
}
}