java项目打包成可执行jar用log4j将日志写在jar所在目录

Posted 子落.

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java项目打包成可执行jar用log4j将日志写在jar所在目录相关的知识,希望对你有一定的参考价值。

 开发一个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运行,这个日志文件会在源码所在项目的根目录。

以上是关于java项目打包成可执行jar用log4j将日志写在jar所在目录的主要内容,如果未能解决你的问题,请参考以下文章

求Java程序打包成可执行jar的工具或者方法

3、Spring Boot打包成jar并运行

将Java程序打包成可执行EXE文件的步骤

java 怎么把多个jar打包成一个jar来使用??

如何将maven项目打包成可执行的jar

java项目在Eclipse中可正常执行显示,但是打包成可执行jar包后却不能显示