3
在某些情況下,我想捕獲一個異常,但仍然在通過grails中的Log4J屬性定義的堆棧跟蹤日誌中顯示堆棧跟蹤。我怎樣才能做到這一點?如何在grails中不會拋出異常而記錄stackTrace
我知道我可以使用log.error myException.stackTrace
將它寫入「正常」日誌中,但我不希望堆棧跟蹤填滿我的正常日誌文件。
在某些情況下,我想捕獲一個異常,但仍然在通過grails中的Log4J屬性定義的堆棧跟蹤日誌中顯示堆棧跟蹤。我怎樣才能做到這一點?如何在grails中不會拋出異常而記錄stackTrace
我知道我可以使用log.error myException.stackTrace
將它寫入「正常」日誌中,但我不希望堆棧跟蹤填滿我的正常日誌文件。
已經有一個由grails生成的堆棧跟蹤日誌。
你可以得到記錄器,然後添加你的日誌報表中的異常的catch塊
LogManager.getLogger("StackTrace")
http://grails.org/doc/latest/guide/3.%20Configuration.html#3.1.2%20Logging
我不知道Java的(再)或Log4J的(再)或Grails的 - 但我認爲你可以做任何編程語言的標準。你可以拋出一個異常並捕獲它。這樣,任何異常都不會泄露到您的日誌中。除非你不想在非例外情況下拋出異常 - 我完全同意 - 而且你正在問如何在Java中獲取當前的堆棧幀。 – 2010-12-06 16:11:34
我確實發現了異常。而且我還希望堆棧跟蹤出現在日誌中,如果我發現它並不是這種情況。 – 2010-12-06 16:29:40