为了账号安全,请及时绑定邮箱和手机立即绑定

如何在java spring中将slf4j与多个类一起使用?

如何在java spring中将slf4j与多个类一起使用?

慕码人8056858 2023-09-20 15:58:41
我想在 java spring 中将多文件 java 的进程写入 1 个文件日志中。这是我的 logback.xml 文件:<configuration><property name="HOME_LOG" value="logs"/><appender name="001" class="ch.qos.logback.core.rolling.RollingFileAppender">    <file>${HOME_LOG}/001/application.log</file>    <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">        <fileNamePattern>${HOME_LOG}/001.%d{yyyy-MM-dd ss}.%i.log.gz</fileNamePattern>        <!-- each archived file, size max 10MB -->        <maxFileSize>10MB</maxFileSize>        <!-- total size of all archive files, if total size > 20GB, it will delete old archived file -->        <totalSizeCap>10GB</totalSizeCap>        <!-- 60 days to keep -->        <maxHistory>60</maxHistory>    </rollingPolicy>    <encoder>        <pattern>%d %p %c{1.} [%t] %m%n</pattern>    </encoder></appender><logger name="001" level="INFO">    <appender-ref ref="001"/></logger>现在我想从 2 个 java 文件写入日志:demo1.java 和 demo2.java。这是代码java:file demo1.javaprivate final static Logger log001 = LoggerFactory.getLogger("001");log001.info("I am java 1");file demo2.javaprivate final static Logger log001 = LoggerFactory.getLogger("001");log001.info("I am java 2");我希望我的日志文件可以显示 2 个文本:“我是 java 1”和“我是 java 2”。现在正在写入覆盖。
查看完整描述

1 回答

?
慕哥6287543

TA贡献1831条经验 获得超10个赞

fileNamePattern您的日志文件在每次运行时被覆盖的原因是您在 中配置的方式rollingPolicy,即您的 application.log 在每次运行时都会重新创建,因为文件模式粒度以秒为单位{yyyy-MM-dd ss}

快速修复:改变

<fileNamePattern>${HOME_LOG}/001.%d{yyyy-MM-dd ss}.%i.log.gz</fileNamePattern>

<fileNamePattern>${HOME_LOG}/001.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>


查看完整回答
反对 回复 2023-09-20
  • 1 回答
  • 0 关注
  • 42 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信