logback如何将不同的业务日志分开输出

用logback输出日志,想要把不同业务的日志输出到不同的文件中。

现在有一个包 com.manage.ddd ,该包下的业务比较特殊,希望与其他模块的日志分开显示,
但是在实际的开发中 , com.manage.ddd下的类调用了大量其他包中的工具类(所有模块共同调用), 工具类中的日志能否 当由 com.manage.ddd下的类调用 时输出到文件a中,其他包中类调用时输出到文件b中

现配置如下:

  <!--创建一个测试类,将日志打印到特定的文件中去-->
<appender name="xjkUserAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <fileNamePattern>${log.path}/testLog222.%d{yyyy-MM-dd}.log</fileNamePattern>
        <maxHistory>12</maxHistory>
    </rollingPolicy>
    <encoder charset="UTF-8">
        <Pattern>${log.content}</Pattern>
    </encoder>
</appender>

  <logger name="com.controller.business.ElkLogsController" level="INFO" additivity="false">
    <appender-ref ref="xjkUserAppender"/>
   <!-- <appender-ref ref="xjkUserAppender"/>-->
</logger>

以上配置能将ElkLogsController中的日志分开输出,但是对于调用的工具类中的日志,无法分开输出

阅读 5.8k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题