2012-10-15 58 views
5

我有一些特殊的logback問題。我們已經從log4j遷移到了logback,並且似乎都沒問題,但是我們有一個異常類MultiCauseException。正如你猜測的那樣 - 它可能有多個原因異常,所以問題是:我無法手動格式化堆棧跟蹤來查看所有原因。Logback - 例外的自定義輸出

爲什麼它工作。 Log4j使用方法printStackTrace(),你可以在MultiCauseException中覆蓋它,問題就不存在了。但是logback使用他自己的方法,我不知道如何替換它們。

我想正確記錄所有原因。

在課堂上我有

MultiCauseException nextInChain; // my cause 
Throwable inner; 
     // the real exception (inner.getCause() can be != null - must be logged) 

而且

@Override 
    public Throwable getCause() { 
     return nextInChain; 
    } 
+0

你使用的是哪個版本的Logback? – fglez

+0

1.0.7 - 目前的最新版本 – Edd

+0

我決定將堆棧拼接成「飛機」(現在「造成的」並不是真的意味着原因)。但問題並沒有真正關閉......是的,我的英語很糟糕,對此感到抱歉:) – Edd

回答

1

的logback有一種叫做Layouts被suppoesed格式化事件字符串。 但我仍然相信你應該可以配置它PatternLayout

+0

謝謝。但在這種情況下,我需要修改配置文件,以替換我自己的標準佈局。當我在其他類中添加我的異常時,我需要再次修改appender。這是一個建議,但是如果我只能修改MultiCauseException類(或者添加一些內容,但是一次)會更好, – Edd