Java - log4j - gemme log i flere filer
HejJeg har et problem med at få log4j til at gemme data i forskellige filer. Jeg ønsker, at INFO, DEBUG, ERROR m.m. bliver logget i seperate filer:
INFO i app-info.log
DEBUG i app-debug.log
etc.
Jeg har fundet og tilrettet nedenstående eksempel. Det virker ikke helt efter hensigten, da alle logmeddelser bliver gemt i alle filer.
Håber i kan hjælpe :)
På forhånd tak
Brian Odsgaard
---------------------
FIL: log4j.properties
---------------------
log4j.threshold=ALL
log4j.rootLogger=ALL, stdout, DebugAppender, InfoAppender, WarnAppender,
ErrorAppender
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%c %d{ISO8601} -- %p -- %m%n
log4j.logger.DebugAppender.access=DEBUG
log4j.appender.DebugAppender=org.apache.log4j.RollingFileAppender
log4j.appender.DebugAppender.File=app-debug.log
log4j.appender.DebugAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.DebugAppender.layout.ConversionPattern=%c %d{ISO8601} -- %p --%m%n
log4j.logger.InfoAppender.access=INFO
log4j.appender.InfoAppender=org.apache.log4j.RollingFileAppender
log4j.appender.InfoAppender.File=app-info.log
log4j.appender.InfoAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.InfoAppender.layout.ConversionPattern=%c %d{ISO8601} -- %p -- %m%n
log4j.logger.WarnAppender.access=WARN
log4j.appender.WarnAppender=org.apache.log4j.RollingFileAppender
log4j.appender.WarnAppender.File=app-warn.log
log4j.appender.WarnAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.WarnAppender.layout.ConversionPattern=%c %d{ISO8601} -- %p -- %m%n
log4j.logger.ErrorAppender.access=ERROR
log4j.appender.ErrorAppender=org.apache.log4j.RollingFileAppender
log4j.appender.ErrorAppender.File=app-error.log
log4j.appender.ErrorAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.ErrorAppender.layout.ConversionPattern=%c %d{ISO8601} -- %p --%m%n
------------------
FIL: LogClass.java
------------------
package test;
import org.apache.log4j.Logger;
public class LogClass {
private static org.apache.log4j.Logger log = Logger
.getLogger(LogClass.class);
public static void main(String[] args) {
log.trace("Trace");
log.debug("Debug");
log.info("Info");
log.warn("Warn");
log.error("Error");
log.fatal("Fatal");
}
}
