首页 > 解决方案 > 如何使用spring boot仅将程序特定日志写入spring批处理中的文件

问题描述

我开发了弹簧批处理多文件处理器。现在的要求是编写所有程序特定的日志,例如:

    logger.info(" this is reader reading employee record:" employee.toString);
    logger.info(" this is processor processing employee record:" employee.toString);

到文件。试图通过使用 logback.xml 来解决。

<appender name="file1" class="ch.qos.logback.core.FileAppender">
    <file>${LOG_PATH}/log.log</file>
     <encoder 
      class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
      <Pattern>%msg%</Pattern>
    </encoder>
</appender>

然后开始禁用所有其他的spring,hibernate等日志......

<logger name="org.springframework" level="OFF">
   <appender-ref ref="file1" />
</logger>

对 org.hibernate 做了同样的事情。但看起来我必须禁用很多像tomcat和org.apache等......

任何建议仅将在方法中写入的程序日志发送到日志文件。

由于这是春季批次,因此可以简化吗?

标签: springlog4jspring-batchlogbackspring-logback

解决方案


由于我没有任何简单的方法,这就是我所做的。

将所有日志添加到列表中。在处理器中返回相同。在 writer 将这些日志写入文件。


推荐阅读