java - slf4j+log4j 应用程序如何恢复工作当硬盘已满时
问题描述
我在 Web 应用程序中使用了日志系统。日志系统是slf4j + log4j
.
配置文件如下。
现在我有一个问题。
第一步,我使用了一个压力测试程序。不幸的是,硬盘已满,无法输出日志。
在第二步中,我删除了多余的日志,硬盘重新获得了空间。不幸的是,我的日志系统无法继续工作。
我不得不重新启动我的服务来恢复日志系统。
这显然不是最好的解决方案。我怎样才能让日志再次工作?
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds" debug="false">
<property name="LOG_ROOT" value="logs/"/>
<property name="SVC_NAME" value="robot-test"/>
<appender name="AllLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_ROOT}${HOSTNAME}.${SVC_NAME}.%d{yyyy-MM-dd-HH}.log</fileNamePattern>
</rollingPolicy>
<!--<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">-->
<!--<fileNamePattern>${LOG_ROOT}${HOSTNAME}.${SVC_NAME}.%d{yyyy-MM-dd-HH}-%i.log</fileNamePattern>-->
<!--<MaxHistory>30</MaxHistory>-->
<!--<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">-->
<!--<maxFileSize>100MB</maxFileSize>-->
<!--</timeBasedFileNamingAndTriggeringPolicy>-->
<!--</rollingPolicy>-->
<encoder charset="UTF8">
<pattern>%d{HH:mm:ss.SSS} %level [%thread] %logger{10} [%file:%line] %msg%n</pattern>
</encoder>
</appender>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>${logging.stdout.appender.level}</level>
</filter>
<encoder charset="UTF8">
<pattern>%date %level [%thread] %logger{10} [%file:%line] %msg%n</pattern>
</encoder>
</appender>
<logger name="com.smzy.commonservice" level="WARN" addtivity="false"/>
<root level="${logging.root.level}">
<appender-ref ref="AllLog"/>
<appender-ref ref="STDOUT"/>
</root>
</configuration>
解决方案
推荐阅读
- python - 我的 Linux 系统(特别是我的 LFS 系统)上真的需要 Python 吗?
- java - Java.lang.UnsatisfiedLinkError:加载 mp3 文件时无法加载库
- node.js - 重构 socket.io
- ros - 如何在 Ubuntu 20.04 上设置 ROS 环境变量?
- python - Python DNA 翻译
- android - 谷歌播放核心库无法检测到应用程序的更新版本
- c# - 如何使用 HttpClient 在 GET 方法中设置 content-md5 标头?
- node.js - 如何在节点 js 结束后保持 TCP 客户端连接处于活动状态
- spring - 在从 postgres 数据库中选择中对 spring 数据与 JDBI 进行基准测试
- azure - 如何在部署作业期间为 XML 转换设置 EnvironmentName?