java - 如何将 Spring DEBUG 日志重定向到单独的文件?

标签 java spring logging kibana

所以我尝试在 Kibana 3 中查看使用 Spring 框架日志的应用程序。 当我查看日志时,有大量 Spring 的 DEBUG 日志,这使得管理应用程序的日志变得更加困难和令人沮丧。

我正在使用 log4j2 并找到了一种使用

禁用 Spring 日志的方法
<Logger name="org.springframework" level="OFF"></Logger>
<Logger name="org.hibernate" level="OFF"></Logger>
<Logger name="org.apache.commons" level="OFF"></Logger>

在我的 log4j2 XML 文件中。

我想要实现的是:

我不想只是禁用日志,我想将 Spring 的日志与我的应用程序的日志分开,这意味着每个日志都有一个不同的文件。

预先感谢您的帮助。

最佳答案

<Configuration status="warn">
   <Appenders>
     <Console name="STDOUT" target="SYSTEM_OUT">
       <PatternLayout pattern="%m%n"/>
     </Console>    
     <File name="Spring" fileName="logs/spring.log">
       <PatternLayout pattern="%d %p %c{1.} [%t] %m%n"/>
     </File>
   </Appenders>
   <Loggers>
      <!-- Route Spring logs to their own file and do not include in root logger -->
      <Logger name="org.springframework" level="INFO" additivity="false">
        <AppenderRef ref="Spring"/>
     </Logger>    
     <Root level="error">
        <AppenderRef ref="STDOUT"/>
     </Root>
   </Loggers>
 </Configuration>

关于java - 如何将 Spring DEBUG 日志重定向到单独的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35968131/

相关文章:

java - Spring 的 Bean 列表

c# - MSI卸载不删除所有文件夹

c# - 日志记录结构 - 当必须记录每个方法时如何构建?

java - Spring Boot + Hibernate - 如何维护 @Transient 字段

swift - 写入日志文件似乎覆盖了以前的保存

仅使用 JavaScript (Nashorn) 进行 JavaFX 开发

java - 如何在android中准确扫描所有连接到wifi的设备的IP和Mac地址?

java - Spring Boot |使用动态 keystore /信任库

java - 如何从标签中获取所有元素

java - 如何使用 Spring-Data-MongoDB 在实体中设置 @TextIndex 名称