java項(xiàng)目打包成可執(zhí)行jar用log4j將日志寫在jar所在目錄操作
開發(fā)一個(gè)demo時(shí)想將日志輸出到最終打包的jar所在目錄,從網(wǎng)上學(xué)習(xí)實(shí)驗(yàn)整理之后的配置如下,
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%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執(zhí)行時(shí),將會(huì)在jar文件所在目錄生產(chǎn)一個(gè)jarDemo.log的日志文件,如果時(shí)用idea運(yùn)行,這個(gè)日志文件會(huì)在源碼所在項(xiàng)目的根目錄。
補(bǔ)充知識(shí):springboot工程打成jar包后運(yùn)行時(shí),讀取外部的配置文件
我們在使用“package spring-boot:repackage”命令,將工程打包成jar包之后,在部署到服務(wù)器時(shí),有些配置需要修改,尤其是部署不同的環(huán)境時(shí),像數(shù)據(jù)庫連接等參數(shù)都是需要修改的,為了不是每個(gè)服務(wù)器上都重新打包,就需要在jar包外部放置配置文件,jar包運(yùn)行時(shí)優(yōu)先讀取外部的配置文件,以windows系統(tǒng)下為例,在目錄“D:package”目錄下運(yùn)行,
具體方法如下:
在D:package目錄下新建lib目錄,將打好的jar包放進(jìn)去
在D:package目錄下,將配置文件放進(jìn)去,例如application.properties
在D:package目錄下創(chuàng)建run.bat,內(nèi)容如下:
java -jar -Dfile.encoding=UTF-8 lib/xxx.jar com.xxx.App
雙擊run.bat運(yùn)行
原理說明:
springboot 程序會(huì)從下面這些路徑來加載application.properties 配置文件(優(yōu)先級(jí)按前后順序)
jar包同級(jí)目錄下的/config目錄
jar包同級(jí)目錄
classpath里的/config目錄
classpath 同級(jí)目錄
以上這篇java項(xiàng)目打包成可執(zhí)行jar用log4j將日志寫在jar所在目錄操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. 詳解瀏覽器的緩存機(jī)制2. CSS3實(shí)例分享之多重背景的實(shí)現(xiàn)(Multiple backgrounds)3. ASP基礎(chǔ)知識(shí)VBScript基本元素講解4. 使用Spry輕松將XML數(shù)據(jù)顯示到HTML頁的方法5. XML入門的常見問題(四)6. asp(vbscript)中自定義函數(shù)的默認(rèn)參數(shù)實(shí)現(xiàn)代碼7. XHTML 1.0:標(biāo)記新的開端8. XML解析錯(cuò)誤:未組織好 的解決辦法9. php網(wǎng)絡(luò)安全中命令執(zhí)行漏洞的產(chǎn)生及本質(zhì)探究10. 利用CSS3新特性創(chuàng)建透明邊框三角
