java - 如何在 Spring Boot 中将特定类记录到另一个日志文件

标签 java logging spring-boot

我在 application.properties 中有简单的日志设置:

logging.file = logs/debug.log
logging.level.org.hibernate.SQL = DEBUG
logging.level.org.hibernate.type = TRACE

我有一个包co.myapp.notifier。我希望这个包的所有类都记录到 logs/notifier.log。我试过了 https://stackoverflow.com/a/9652239https://stackoverflow.com/a/728351 没有运气。 在所有情况下,消息都会转到我的 debug.log

最佳答案

如果您需要这样做,您将需要自己的 logback.xml 文件。

<configuration>

<!-- Normal debug log appender -->
  <appender name="FILE" class="ch.qos.logback.core.FileAppender">
    <file>debug.log</file>

    <encoder>
      <pattern>%date %level [%thread] %logger{10} [%file:%line] %msg%n</pattern>
    </encoder>
  </appender>

<appender name="virtuallab" type="ch.qos.logback.core.rolling.RollingFileAppender">
   <file value="Logs/virtuallab.log"/>
   <appendToFile value="true"/>
   <maxSizeRollBackups value="5"/>
   <maximumFileSize value="5MB"/>
   <rollingStyle value="Size"/>
   <staticLogFileName value="true"/>
   <encoder>
     <pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>
   </encoder>
</appender>

<!-- Setup the root category, add the appenders and set the default level -->
  <root level="debug">
    <appender-ref ref="FILE" />
  </root>

<!-- Specify the level specific to co.myapp.notifier -->
<logger name="co.myapp.notifier">
  <level value="ALL" />
  <appender-ref ref="virtuallab" />
</logger>

</configuration>

如果您需要控制台日志,您可能还需要添加它。 Here是文档并阅读此 question还有。

关于java - 如何在 Spring Boot 中将特定类记录到另一个日志文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31941353/

相关文章:

java - 使用 ActiveMQ/JMS 主题的并行测试

java - Java 中的 OpenCV EAST 文本检测器实现

java - AffdexMe,Android,LicenseException : could not open license file

java - 如何在每次循环计数后更改矩形的颜色?

node.js - Winston 不显示错误详细信息

testing - 如何在 TestCafe 框架中启用测试日志记录机制

java - 使用 Jackson 解析嵌套对象

kubernetes - 什么情况导致 Pod 日志读取器返回 EOF

maven - Bulid.war 文件在 intellij IDEA 中使用不同的 application.properties 文件(Maven)

spring-boot - 无法启动Docker容器