Mik*_*son 2 log4j jdbc stack-trace
使用org.apache.log4j.jdbc.JDBCAppender
,我怎样才能记录warn
和error
使用PatternLayout
.
我正在登录
logger.warn("warning description", e);
logger.error("error description", e);
Run Code Online (Sandbox Code Playgroud)
我将String描述放入表中,但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')"
Run Code Online (Sandbox Code Playgroud)
进入一张桌子
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`)
)
Run Code Online (Sandbox Code Playgroud)
Mik*_*son 11
我找到了解决方案.
用PatternLayout
类替换EnhancedPatternLayout
类.
org.apache.log4j.EnhancedPatternLayout
您还需要包含apache-log4j-extra依赖项
或者将它包含在你的pom中:
<dependency>
<groupId>log4j</groupId>
<artifactId>apache-log4j-extras</artifactId>
<version>1.1</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
您现在可以访问%throwable
%throwable{short}
或%throwable{1}
将输出堆栈跟踪的第一行.throwable{none}
或者throwable{0}
将抑制堆栈跟踪.%throwable{n}
如果是正整数,则输出n行堆栈跟踪;如果是负整数,则输出最后一行-n行.
我加入了我的桌子,
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,
`throwable` text,
`stacktrace` text,
PRIMARY KEY (`id`)
)
Run Code Online (Sandbox Code Playgroud)
并更新了我的模式以填充这些列.
"INSERT INTO app_logs (app, log_date, log_level, location, loc, message, throwable, stacktrace) VALUES ('my-apps-name', '%d{ISO8601}','%p', '%C.java', '%C{1}.java:%L', '%m', '%throwable{short}', '%throwable{100}')"
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
9959 次 |
最近记录: |