Java spring引导:stacktrace打印在控制台中而不是日志文件中

Java spring引导:stacktrace打印在控制台中而不是日志文件中,java,spring-boot,logback,Java,Spring Boot,Logback,以下是我在springboot应用程序中的logback.xml配置 我在所有课程中都使用@Sl4j。 所有日志都打印在日志文件中,除了异常的stacktrace(例如printStackTrace)。而是在控制台中打印 没有重复的帖子,浏览了几乎所有的帖子都找不到合适的答案 谢谢你的帮助 感谢如中所述: 将此可丢弃文件及其回溯打印到标准错误流 因此,除非您通过SLF4J记录异常,否则stacktrace将不会打印在您的文件中 如果不控制对printStackTrace的调用,则可以重定向j

以下是我在springboot应用程序中的logback.xml配置

我在所有课程中都使用@Sl4j。 所有日志都打印在日志文件中,除了异常的stacktrace(例如printStackTrace)。而是在控制台中打印

没有重复的帖子,浏览了几乎所有的帖子都找不到合适的答案

谢谢你的帮助

感谢

如中所述:

将此可丢弃文件及其回溯打印到标准错误流

因此,除非您通过SLF4J记录异常,否则stacktrace将不会打印在您的文件中

如果不控制对
printStackTrace
的调用,则可以重定向java命令的输出以附加到文件

java -DLOG_DIR=/logs -DLOG_FILE=my.log -jar target/my.jar >> console.log 2>&1

上述操作将把所有文本追加到文件console.log中,并将标准错误流重定向到标准输出流

printStackTrace始终在标准输出上打印,它不使用任何记录器。如果要将logger last arg添加到日志中,请使用它。是否将异常与logger一起记录在catch中
LOGGER.error(e.getMessage,e)
@Dirk如果它在我的代码中,我们可以这样写。假设它在某个图书馆,那么?很棒的工作,非常有用。想知道“2>&1”的人--
java -DLOG_DIR=/logs -DLOG_FILE=my.log -jar target/my.jar
java -DLOG_DIR=/logs -DLOG_FILE=my.log -jar target/my.jar >> console.log 2>&1