在log4j中,可以通過配置多個Logger對象來實現寫多個日志。
首先,打開log4j的配置文件(通常是log4j.properties或log4j.xml),并添加多個Logger的配置。例如,可以添加兩個Logger對象,一個用于寫入控制臺,另一個用于寫入文件:
log4j.rootLogger=INFO, console, file
log4j.appender.console=org.apache.log4j.ConsoleAppender log4j.appender.console.Target=System.out log4j.appender.console.layout=org.apache.log4j.PatternLayout log4j.appender.console.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %5p %c{1}:%L - %m%n
log4j.appender.file=org.apache.log4j.RollingFileAppender log4j.appender.file.File=/path/to/log/file.log log4j.appender.file.MaxFileSize=5MB log4j.appender.file.MaxBackupIndex=10 log4j.appender.file.layout=org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %5p %c{1}:%L - %m%n
然后,在Java代碼中,可以使用Logger.getLogger方法獲取不同的Logger對象,并使用不同的日志級別來寫入日志。例如,可以使用以下代碼分別寫入控制臺日志和文件日志:
import org.apache.log4j.Logger;
public class Log4jExample { private static final Logger consoleLogger = Logger.getLogger(“console”); private static final Logger fileLogger = Logger.getLogger(“file”);
public static void main(String[] args) {
consoleLogger.info("This is a console log message");
fileLogger.error("This is a file log message");
}
}
通過上述配置和代碼,就可以同時寫入控制臺和文件的日志。需要注意的是,需要在配置文件中分別配置控制臺和文件的Appender,并為它們分別指定不同的Logger名稱。在Java代碼中,只需要通過Logger.getLogger方法獲取相應的Logger對象,并使用不同的方法寫入日志。