使用org.apache.log4j.jdbc.JDBCAppender
,我怎樣才能得到記錄與warn
和error
到PatternLayout
stracktraces。的Log4j JDBCAppender登錄蹤跡
我喜歡記錄
logger.warn("warning description", e);
logger.error("error description", e);
我得到的字符串描述到表中,但的Throwable的堆棧跟蹤是現在在哪裏。是否有另一個參數,我可以通過PatternLayout
訪問。目前我使用
"INSERT INTO app_logs (app, log_date, log_level, location, loc, message) VALUES ('my-apps-name', '%d{ISO8601}','%p', '%C.java', '%C{1}.java:%L', '%m')"
到表
TABLE `app_logs` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`app` varchar(255) DEFAULT NULL,
`log_date` varchar(255) DEFAULT NULL,
`log_level` varchar(255) DEFAULT NULL,
`location` varchar(255) DEFAULT NULL,
`loc` varchar(255) DEFAULT NULL,
`message` text,
PRIMARY KEY (`id`)
)
這個解決方案工作正常,但隨後的堆棧跟蹤可能有逗號或單引號,我們必須消毒您應該重寫getLogStatement func的數據,如Sangeet Kumar在其答案之一中所示。 – Gaurav
我知道這是一箇舊帖子。希望指出答案中的鏈接被破壞了。您能否更新鏈接以便對那些對此解決方案感興趣的人(如我)獲益? – Chiseled
應該修復。 – MikeNereson