亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Java 堆棧跟蹤未使用 log4j2 打印

Java 堆棧跟蹤未使用 log4j2 打印

滄海一幻覺 2024-01-28 16:00:15
我確信這是一個簡單的修復,但我一生都無法弄清楚為什么。我收到隨機 NPE 并讓 log4j (2.0.2) 記錄錯誤,但是盡管%ex我的 log4j 配置文件中有 ,但它不打印任何堆棧跟蹤。11-01-2019 02:39:33.212 [Thread-307] 錯誤 AlarmParse.ProcessAlarm: java.lang.NullPointerException -Log4j2配置文件:<?xml version="1.0" encoding="UTF-8"?><configuration monitorInterval="30" status="INFO">  <appenders>    <Console name="Console" target="SYSTEM_OUT">      <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg - %ex%n"/>    </Console>    <File name="MyFile" fileName="G:/iMCAlarmParse/logs/AppLog.log">        <PatternLayout pattern="%d{MM-dd-yyyy HH:mm:ss.SSS} [%t] %-5level %c{2}: %msg - %ex%n"/>    </File>爪哇:try {    //<Many sequential class calls>} catch (Exception e) {    log4j.error(e);}
查看完整描述

1 回答

?
慕森王

TA貢獻1777條經驗 獲得超3個贊

您實際上log4j.error(e)正在調用info(Object message)不需要額外注意的方法Exception

但是,要打印堆棧跟蹤,您需要Throwable單獨調用處理(異常的超類)的變體之一。最簡單的方法之一可能是info(CharSequence arg0, Throwable arg1).

例如,您可以簡單地將 catch 塊中的行更改為:

log4j.error("", e);


查看完整回答
反對 回復 2024-01-28
  • 1 回答
  • 0 關注
  • 145 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號