我正在使用由logback支持的slf4j设置项目。我在程序的根记录异常与Slf4j/logback - 在单独文件中打印堆栈跟踪
logger.error(ex.getMessage(), ex);
我已经得到的logback配置像这样(减去不重要的东西)
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>app.log</file>
<encoder>
<pattern>${details}: %msg%n</pattern>
</encoder>
</appender>
<root>
<appender-ref ref="FILE"/>
</root>
重要位工作的罚款。我的问题是,尽管%ex没有被包含在我的模式中,但是在错误消息之后,stacktraces无论如何都会被打印为常规sysout样行。
00:23:50.713 ERROR blabla: something happened java.lang.RuntimeException: something happened at ... at ...
因为我希望我的日志很容易解析的,即堆栈跟踪是我的方式(它不适合我的行格式),我不希望它在那里。我想踪迹去一个单独的文件,打印为
<file>stacktrace.log</file>
<encoder>
<pattern>${details}: %ex%n</pattern>
</encoder>
我认为这事很明显不是一个的logback臭虫,踪迹oopsie自己的方式进入输出尽管是在图形中不存在。我一直在阅读文档,但似乎无法找到我想要的方法:仅在专用堆栈跟踪日志中打印堆栈跟踪。可以做到吗?