太原seo团队seo点击软件哪个好用
日志文件爆满,springCloud微服务架构中的,日志爆满如何解决,使用脚本直接删除,会导致,
如果要删除的日志文件,还正在被进程占用,那么你即使使用脚本定时删除了,这个日志文件,那么这个日志文件实际上还是不会删除的,他的大小,依然占用磁盘,就是因为,有进程还在占用它,所以之前说的,日志文件爆满,使用脚本定时删除,是不可用的.
要想解决这个问题,最好直接在微服务的服务中,进行配置,比如:
这里我们使用logback来管理日志文件:比如有个微服务的名字叫:xxx-bigdata-platform-system
那么,这个时候,在这个项目的E:\bigData\RuoYi-Cloud-Plus-master\ruoyi-modules\xxx-bigdata-platform-system\src\main\resources\logback-spring.xml
这个配置文件中可以这样写:
<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false"><conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter"/><conversionRule conversionWord="wex"converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/><conversionRule conversionWord="wEx"converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/><!-- 彩色日志格式 --><property name="CONSOLE_LOG_PATTERN"value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/><!--输出到控制台--><appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"><!--过滤trace日志到控制台--><filter class="com.plumelog.logback.util.FilterSyncLogger"><level></level></filter><encoder><Pattern>${CONSOLE_LOG_PATTERN}</Pattern><!-- 设置字符集 --><charset>UTF-8</charset></encoder></appender><!-- 输出到文件 --><appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender"><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><FileNamePattern>logs/nohup_xxx-bigdata-platform-system.log.%d{yyyy-MM-dd}.log</FileNamePattern><MaxHistory>3</MaxHistory></rollingPolicy><encoder><Pattern>${CONSOLE_LOG_PATTERN}</Pattern><!-- 设置字符集 --><charset>UTF-8</charset></encoder></appender><!-- 环境配置 --><springProperty scope="context" name="plumelog.appName" source="plumelog.appName"/><springProperty scope="context" name="plumelog.redisHost" source="plumelog.redisHost"/><springProperty scope="context" name="plumelog.redisPort" source="plumelog.redisPort"/><springProperty scope="context" name="plumelog.redisAuth" source="plumelog.redisAuth"/><springProperty scope="context" name="plumelog.env" source="spring.profiles.active"/><!-- 输出plumelog --><appender name="plumelog" class="com.plumelog.logback.appender.RedisAppender"><appName>${plumelog.appName}</appName><redisHost>${plumelog.redisHost}</redisHost><redisAuth>${plumelog.redisAuth}</redisAuth><env>${plumelog.env}</env></appender><!-- 配置日志输出,只输出info,只保留控制台和plumelog输出--><!-- 正常开发环境本地,只输出到控制台,测试环境只输出到plumelog,生产环境输出到本地文件plumelog,因为有plumelog加持本地文件就保留3天即可--><!-- 这些都可以根据环境配置不同加载不同的ref--><root level="info"><!--输出到控制台--><appender-ref ref="CONSOLE"/><!-- 输出到文件 --><appender-ref ref="file"/><!-- 输出plumelog --><appender-ref ref="plumelog"/></root></configuration>
这个文件可以复制过去直接使用.
可以看到上面配置的就是,只保留3天的日志,并且,每天生成一个日志文件
logs/nohup_xxx-bigdata-platform-system.log.%d{yyyy-MM-dd}.log
这里yyyy-MM-dd就相当于指定了,每天生成一个日志文件
可以看到就正常生产文件了已经.
然后,pom.xml中需要引入:
<dependency><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId></dependency><dependency><groupId>ch.qos.logback</groupId><artifactId>logback-core</artifactId></dependency>
引入以后,还有个地方需要,在配置文件中添加配置,这个一般是,在nacos中,对应微服务的
配置:
# 日志配置
logging:level:org.springframework: warnorg.apache.dubbo: warncom.alibaba.nacos: warnconfig: classpath:logback-spring.xml