第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

創(chuàng)建 log4j2 Logger 導(dǎo)致在啟動(dòng) Tomcat webapp

創(chuàng)建 log4j2 Logger 導(dǎo)致在啟動(dòng) Tomcat webapp

慕碼人2483693 2021-12-01 19:18:32
我有一個(gè) Java 7 webapp,我正在嘗試在運(yùn)行 Tomcat 7.0.53 的服務(wù)器上工作。在嘗試使用 Log4j 之前,我的 webapp 已經(jīng)能夠毫無(wú)問(wèn)題地啟動(dòng)和運(yùn)行?,F(xiàn)在,我正在嘗試在我的應(yīng)用程序中添加和使用 Log4j2。通過(guò)注釋掉創(chuàng)建 Log4j Logger 的代碼行,我發(fā)現(xiàn)當(dāng) Tomcat 嘗試啟動(dòng)我的 webapp 時(shí),它導(dǎo)致我的 webapp 失敗。這是來(lái)自的具體錯(cuò)誤catalina.out:Oct 22, 2018 4:28:37 PM org.apache.catalina.deploy.NamingResources cleanUpWARNING: Failed to retrieve JNDI naming context for container [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/db-status-checker]] so no cleanup was performed for that containerjavax.naming.NamingException: No naming context bound to this class loaderNamingException 發(fā)生是因?yàn)椴檎襧ava:comp/env失敗。這是導(dǎo)致上述警告和后續(xù)異常的特定代碼行:static Logger log = LogManager.getLogger(            DBTest.class.getName()    );我使用的 IDE 是 Intellij IDEA。如果您需要更多信息,請(qǐng)告訴我。謝謝你。
查看完整描述

1 回答

?
隔江千里

TA貢獻(xiàn)1906條經(jīng)驗(yàn) 獲得超10個(gè)贊

如果您需要更多信息,請(qǐng)告訴我。

在詢問(wèn)有關(guān) Tomcat 的問(wèn)題時(shí),指定您使用的確切版本(xyz)很重要。希望你的Tomcat 7.0.z版本不是n年。

當(dāng) Tomcat 嘗試啟動(dòng)我的 webapp 時(shí),它導(dǎo)致我的 webapp 失敗。

錯(cuò)誤消息說(shuō)它是由方法“org.apache.catalina.deploy.NamingResources cleanUp”記錄的。正如您從名稱中猜到的那樣,它不會(huì)在啟動(dòng)時(shí)發(fā)生,而是在關(guān)閉時(shí)發(fā)生。

日志文件和另一個(gè)日志文件(特別是 localhost.log)中的其他消息是什么?

我的猜測(cè)是其他原因阻止它啟動(dòng),而清理錯(cuò)誤只是其后果。

靜態(tài)記錄器日志

為什么是“靜態(tài)”??jī)H當(dāng)您有此類的多個(gè)實(shí)例(并希望跨實(shí)例共享記錄器)時(shí),這才有意義。如果只有一個(gè)實(shí)例(一個(gè) Servlet,一個(gè) Controller 通常作為單個(gè)實(shí)例存在),使用實(shí)例字段更有意義。

一般注意事項(xiàng):

  1. 常見(jiàn)故障排除技巧。您可以嘗試在 NamingResources 類中放置一個(gè)斷點(diǎn)并查看它是如何啟動(dòng)的。您可以嘗試在 StandardContext 類中放置一個(gè)斷點(diǎn)并查看它是如何啟動(dòng)的。JNDI 在 StandardContext 啟動(dòng)序列的某個(gè)步驟初始化。

  2. 您可以嘗試簡(jiǎn)化 Log4J 的配置。(以確保它不在其配置中使用 JNDI)。

  3. 通常通過(guò)創(chuàng)建 InitialContext 并通過(guò)它進(jìn)行查找來(lái)訪問(wèn) JNDI。InitialContext 根據(jù)它在其中運(yùn)行的 Web 應(yīng)用程序選擇 JNDI 樹(shù)。這是通過(guò)查看當(dāng)前線程(又名 TCCL)的 Thread.getContextClassLoader() 來(lái)完成的。如果 TCCL 錯(cuò)誤,JNDI 將無(wú)法訪問(wèn)。( NamingResources 類是一個(gè)例外,因?yàn)樗梢栽L問(wèn) Tomcat 內(nèi)部結(jié)構(gòu))。


查看完整回答
反對(duì) 回復(fù) 2021-12-01
  • 1 回答
  • 0 關(guān)注
  • 275 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)