时间:2021-05-19
开发一个demo时想将日志输出到最终打包的jar所在目录,从网上学习实验整理之后的配置如下,
log4j.properties
log4j.rootLogger = INFO,console,logFilelog4j.appender.console=org.apache.log4j.ConsoleAppenderlog4j.appender.console.Threshold=INFOlog4j.appender.console.ImmediateFlush=truelog4j.appender.console.Target=System.outlog4j.appender.console.layout=org.apache.log4j.PatternLayoutlog4j.appender.console.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%p] %m%nlog4j.appender.logFile=org.apache.log4j.FileAppenderlog4j.appender.logFile.ImmediateFlush=truelog4j.appender.logFile.Append=falselog4j.appender.logFile.Encoding=UTF-8log4j.appender.logFile.File=jarDemo.loglog4j.appender.logFile.layout=org.apache.log4j.PatternLayoutlog4j.appender.logFile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%p] %m%nMain.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运行,这个日志文件会在源码所在项目的根目录。
补充知识:springboot工程打成jar包后运行时,读取外部的配置文件
我们在使用“package spring-boot:repackage”命令,将工程打包成jar包之后,在部署到服务器时,有些配置需要修改,尤其是部署不同的环境时,像数据库连接等参数都是需要修改的,为了不是每个服务器上都重新打包,就需要在jar包外部放置配置文件,jar包运行时优先读取外部的配置文件,以windows系统下为例,在目录“D:\package”目录下运行,
具体方法如下:
在D:\package目录下新建lib目录,将打好的jar包放进去
在D:\package目录下,将配置文件放进去,例如application.properties
在D:\package目录下创建run.bat,内容如下:
java -jar -Dfile.encoding=UTF-8 lib/xxx.jar com.xxx.App
双击run.bat运行
原理说明:
springboot 程序会从下面这些路径来加载application.properties 配置文件(优先级按前后顺序)
jar包同级目录下的/config目录
jar包同级目录
classpath里的/config目录
classpath 同级目录
以上这篇java项目打包成可执行jar用log4j将日志写在jar所在目录操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
Java程序打包成exe可执行文件,分为两大步骤。第一步:将Java程序通过Eclipse或者Myeclipse导成Jar包第二步:通过exe4j讲Jar包程序
Logger来自log4j自己的包。如果用Logger.getLogger,需要一个log4j的jar包,用此方式你只能依log4j:LogFactory来自c
IDEA中log4j无法输出到本地,properties配置无效问题。log4j添加以后无法输出日志信息,经检查(按以下顺序):1.jar包导入正常2.log4
java打包成jarjar-cvf[jar包的名字][需要打包的文件]执行jar包中的main方法java-jar****.jar执行后总是运行指定的主方法,如
简介Log4J是Apache的一个开源项目(官网http://jakarta.apache.org/log4j),通过在项目中使用Log4J,我们可以控制日志信