開發一個demo時想將日志輸出到最終打包的jar所在目錄,從網上學習實驗整理之后的配置如下,
log4j.properties
log4j.rootLogger = INFO,console,logFile log4j.appender.console=org.apache.log4j.ConsoleAppender log4j.appender.console.Threshold=INFO log4j.appender.console.ImmediateFlush=true 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} [%p] %m%n log4j.appender.logFile=org.apache.log4j.FileAppender log4j.appender.logFile.ImmediateFlush=true log4j.appender.logFile.Append=false log4j.appender.logFile.Encoding=UTF-8 log4j.appender.logFile.File=jarDemo.log log4j.appender.logFile.layout=org.apache.log4j.PatternLayout log4j.appender.logFile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%p] %m%n
Main.java
private static Logger logger = LoggerFactory.getLogger(Main.class); static { String path = new File("").getAbsolutePath(); FileAppender appender = (FileAppender) org.apache.log4j.Logger.getRootLogger().getAppender("logFile"); appender.setFile(path + File.separator + "jarDemo.log"); }
最終打包成jar執行時,將會在jar文件所在目錄生產一個jarDemo.log的日志文件,如果時用idea運行,這個日志文件會在源碼所在項目的根目錄。