我支持使用logback生成日志文件的解决方案。问题是生成的日志文件创建得太快,以至于它们填满了硬盘驱动器,导致系统崩溃。
当分析创建的日志文件时,我们可以看到它们的大小为5MB,当它们翻转到下一个日志文件时,下一个日志文件是与上一个日志文件相同的数据,只添加了15-20条跟踪线,然后它将以相同的格式创建下一个日志文件,并以快速的速度继续。有人见过使用logback的这种行为吗?问题在于EsuiteStore*日志:
logback.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<contextName>SSCStoreServer</contextName>
<jmxConfigurator/>
<appender name="FILE"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<level value="INFO" />
<file>${esStoreLogFilePath}/esuiteStore.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>${esStoreLogFilePath}/esuiteStore-%d{yyyy-MM-dd}.%i.log</FileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>5MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<MaxHistory>4</MaxHistory>
<MinIndex>1</MinIndex>
<MaxIndex>4</MaxIndex>
</rollingPolicy>
<layout class="ch.qos.logback.classic.PatternLayout">
<Pattern>
%date %level [%thread] %logger{10}:%L %msg%n
</Pattern>
</layout>
<filter class="com.ncr.ssc.cf.common.util.LoggerNameFilter">
<LoggerName>org.hibernate</LoggerName>
<OnMismatch>NEUTRAL</OnMismatch>
<OnMatch>DENY</OnMatch>
</filter>
</appender>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<level value="INFO" />
<layout class="ch.qos.logback.classic.PatternLayout">
<Pattern>
%date %level [%thread] %logger{10}:%L %msg%n
</Pattern>
</layout>
<filter class="com.ncr.ssc.cf.common.util.LoggerNameFilter">
<LoggerName>org.hibernate</LoggerName>
<OnMismatch>NEUTRAL</OnMismatch>
<OnMatch>DENY</OnMatch>
</filter>
</appender>
<appender name="METRICS"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<level value="INFO" />
<file>${esStoreLogFilePath}/personalizationMetrics.csv</file>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<FileNamePattern>personalizationMetrics%i.csv</FileNamePattern>
<MinIndex>1</MinIndex>
<MaxIndex>2</MaxIndex>
</rollingPolicy>
<triggeringPolicy
class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<MaxFileSize>5MB</MaxFileSize>
</triggeringPolicy>
<layout class="ch.qos.logback.classic.PatternLayout">
<Pattern>
%msg%n
</Pattern>
</layout>
<filter class="com.ncr.ssc.ss.personalizationcontroller.LoggerMetricsFilter">
<LoggerName>Metrics</LoggerName>
<OnMismatch>DENY</OnMismatch>
<OnMatch>ACCEPT</OnMatch>
</filter>
</appender>
<root>
<level value="INFO" />
<appender-ref ref="CONSOLE" />
<appender-ref ref="FILE" />
<appender-ref ref="METRICS" />
</root>
</configuration>
问题是有多个进程在运行,试图访问日志文件,所以一旦它试图翻转,就开始创建多个具有相同数据的日志文件。进程列表显示了运行的多个Java实例。
问题内容: 我当前正在创建一个可以包含模块的系统(将它们视为插件),其中每个模块可以拥有自己的专用日志。 我想使用log4j2项目进行日志记录,但是文件附加器似乎有些麻烦。 主项目(整个模块的模块加载器和“核心”)应具有自己的日志文件,而模块应具有自己的日志文件(如)。 通过阅读有关追加程序的文档,我发现了该类,并且我将使用它。直到我发现不能简单地将追加器添加到由创建的默认记录器中。 LogMan
我目前正在创建一个系统,可以有模块(把它们看作插件),其中每一个都可以有自己的日志,专用的。 我想使用log4j2项目进行日志记录,但我似乎在文件附加符方面遇到了一些麻烦。 主项目(模块加载器和整个事情的“核心”)应该有自己的日志文件,而模块应该有自己的日志文件(像)。 即使搜索也没有给我提供任何接近的解决方案,我找到的只是xml配置中预定义的文件日志--这不是我想要的。 感谢你的阅读;即使是最轻
我在SpringBoot中使用logback,但无法删除旧的日志文件。 我在logback-spring.xml文件中定义了以下appender: 即使我设置了“MaxHistory”和“CleanHistoryonStart”,超过10天的日志文件也不会被删除。既不是翻转也不是启动。
问题内容: 我正在尝试配置log4j以将消息记录到文件中。现在,确实使用我提供的名称创建了该文件,但是日志未写入该文件。我的代码: 我文件的内容: 运行此命令时,将在控制台中获得以下输出: 该文件确实在我的主目录中创建。但是它是空的。 有什么想法我做错了吗?我正在使用log4j 1.2.17版。 问题答案: 输出似乎是Java标准日志记录框架(JUL)发出的默认格式。 因此,有两种可能性(想到):
我好像拿不到滚动日志文件。 我的logback.xml配置有以下内容: 有意思。SIFT中“unknown.log”文件中的条目在分钟的停止处停止。之后,不会向SIFT文件写入任何内容,但我一直在catalina.out中获取条目:
DailyRollingFileAppender没有创建每日备份日志文件。 我正在使用下面的配置,它在我的本地机器上工作,但在部署项目的机器上不工作。 框架——SpringMVC 我无法理解配置的哪个部分正在阻塞DailRollingFileAppender,以便在我的服务器上创建日期日志。 编辑- 我根据建议更新了我的文件,但在第二天上午12点,它不会创建新的备份文件。意味着它更新了AppLog