国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

java - Spring boot 讀取 放在 jar 包外的,log4j 配置文件,系統(tǒng)有創(chuàng)建日志文件,不寫(xiě)入日志信息。

瀏覽:186日期:2023-12-25 13:38:13

問(wèn)題描述

如下圖所示,運(yùn)行的jar 包和 log4j 的配置文件放在同一個(gè)目錄,jar包內(nèi)沒(méi)有任何配置文件:java - Spring boot 讀取 放在 jar 包外的,log4j 配置文件,系統(tǒng)有創(chuàng)建日志文件,不寫(xiě)入日志信息。

在spring boot 框架的 main 方法中,通過(guò)下面這種方式,加載jar 包外的log4j配置文件

java - Spring boot 讀取 放在 jar 包外的,log4j 配置文件,系統(tǒng)有創(chuàng)建日志文件,不寫(xiě)入日志信息。

log4j配置文件的輸出位置如下:

java - Spring boot 讀取 放在 jar 包外的,log4j 配置文件,系統(tǒng)有創(chuàng)建日志文件,不寫(xiě)入日志信息。

運(yùn)行java -jar gf-mfile.jar 之后,控制臺(tái)有info 日志信息,如下圖:

java - Spring boot 讀取 放在 jar 包外的,log4j 配置文件,系統(tǒng)有創(chuàng)建日志文件,不寫(xiě)入日志信息。系統(tǒng)也能夠創(chuàng)建 micofile.log 日志文件,但是,文件為null,0字節(jié),里面沒(méi)有任何數(shù)據(jù),info 日志信息沒(méi)有寫(xiě)入文件中,如下圖:

java - Spring boot 讀取 放在 jar 包外的,log4j 配置文件,系統(tǒng)有創(chuàng)建日志文件,不寫(xiě)入日志信息。

問(wèn)題:如果,我將log4j配置文件 打到j(luò)ar 包中,如下圖:

java - Spring boot 讀取 放在 jar 包外的,log4j 配置文件,系統(tǒng)有創(chuàng)建日志文件,不寫(xiě)入日志信息。

執(zhí)行jar,日志文件是能夠生成日志信息的。我把log4j配置文件,放到和jar 包同級(jí)目錄就只創(chuàng)建日志文件不寫(xiě)入日志信息了。

為什么配置文件放到j(luò)ar包外,日志文件中沒(méi)有內(nèi)容? 請(qǐng)大神賜教,感激不盡……(本人推測(cè),是否是main方法中的讀取,log4j 配置文件的代碼有問(wèn)題,如果是這樣應(yīng)該怎么修改?)

問(wèn)題解答

回答1:

還需要看你的運(yùn)行參數(shù),特別是 classpath 參數(shù),是否把這個(gè)包外的配置文件包含到了 classpath 當(dāng)中。

回答2:

1.檢查下配置文件里面LOG的輸出級(jí)別2.檢查下代碼中Logger的代碼,是否和輸出級(jí)別匹配

回答3:

根據(jù)下面那位大俠(捏造的信仰)的建議,最終成功解決問(wèn)題,下面,記錄一下問(wèn)題解決的詳細(xì)步驟:首先,找到j(luò)ar 包中的MANIFEST.MF 文件,找到該文件的Main-Class方法:java - Spring boot 讀取 放在 jar 包外的,log4j 配置文件,系統(tǒng)有創(chuàng)建日志文件,不寫(xiě)入日志信息。

執(zhí)行如下命令:

java.exe -cp .;gf-mfile.jar org.springframework.boot.loader.JarLauncher

日志文件中有了信息。

=========附錄,java -cp 命令解析===============java -cp .;c:dir1lib.jar Test

-cp 和 -classpath 一樣,是指定類(lèi)運(yùn)行所依賴(lài)其他類(lèi)的路徑,通常是類(lèi)庫(kù),jar包之類(lèi),需要全路徑到j(luò)ar包,window上分號(hào)“;”

分隔,linux上是分號(hào)“:”分隔。不支持通配符,需要列出所有jar包,用一點(diǎn)“.”代表當(dāng)前路徑。 雖然現(xiàn)在都有eclipse之類(lèi)的IDE了,但有時(shí)候后會(huì)手工編譯和運(yùn)行一些程序,很多人包括多年開(kāi)發(fā)經(jīng)驗(yàn)的人都不知道怎么在命令行參 數(shù)運(yùn)行類(lèi)。有點(diǎn)杯具…… 使用范例: java -cp ..libhsqldb.jar org.hsqldb.Server -database mydb 或 java -cp ../lib/hsqldb.jar org.hsqldb.Server -database.0 mydb -dbname.0 mydb

標(biāo)簽: java
主站蜘蛛池模板: 瓦房店市| 唐海县| 同仁县| 泉州市| 兴隆县| 霍州市| 太仆寺旗| 白城市| 平乡县| 遂昌县| 凯里市| 金沙县| 山阴县| 和平县| 巴彦淖尔市| 永济市| 翁源县| 武宁县| 惠来县| 婺源县| 罗源县| 江津市| 北流市| 汉中市| 阳泉市| 天柱县| 淄博市| 泾阳县| 内江市| 新绛县| 观塘区| 新蔡县| 长岭县| 金塔县| 巴马| 阿拉善右旗| 蓬莱市| 交口县| 萨迦县| 公主岭市| 张家口市|