公司最近有一些老项目问题比较多,有个问题比较有意思,这边的异常以及日志,都是用system.out写的。也就是j2se的写法。
由于项目已上线且输出日志地方较多,改动的吃成本极大。
就开是在网上搜寻将system.out 输出到slf4j的方法,最后发现
http://projects.lidalia.org.uk/sysout-over-slf4j/
有这样的项目存在,测试了下,可以完整的把异常抛出。
操作步骤也很简单:
1. 添加maven 依赖
<dependency> <groupId>uk.org.lidalia</groupId> <artifactId>sysout-over-slf4j</artifactId> <version>1.0.2</version> </dependency>
2. 启动输出转换
SysOutOverSLF4J.sendSystemOutAndErrToSLF4J();
将此代码放入到项目启动中,Spring boot 项目可以使用runner 来做。