log4j2 дни ротации журнала пропуская и не удаляя старые файлы для упругого поиска и серого журнала
У меня есть настроенные эластичный поиск и Graylog на одном сервере. Я использовал файл log4j2.properties & log4j2.xml, предоставленный в документациях asticsearch и graylog, соответственно, для реализации ротации журналов. Ротация бревен ведет себя хаотично. Он пропускает ротацию журналов в течение нескольких дней, и старые журналы также не удаляются.
Пожалуйста, найдите ниже соответствующие части моих конфигураций.
Файл Elasticsearch log4j2.properties
appender.rolling.type = RollingFile
appender.rolling.name = rolling
appender.rolling.fileName = ${sys:es.logs.base_path}${sys:file.separator}${sys:es.logs.cluster_name}.log
appender.rolling.layout.type = PatternLayout
appender.rolling.layout.pattern = [%d{ISO8601}][%-5p][%-25c{1.}] %marker%.-10000m%n
appender.rolling.filePattern = ${sys:es.logs.base_path}${sys:file.separator}${sys:es.logs.cluster_name}-%d{yyyy-MM-dd}.log.gz
appender.rolling.policies.type = Policies
appender.rolling.policies.time.type = TimeBasedTriggeringPolicy
appender.rolling.policies.time.interval = 1
appender.rolling.policies.time.modulate = true
appender.rolling.strategy.type = DefaultRolloverStrategy
appender.rolling.strategy.max = 7
Graylog log4j2.xml
<?xml version="1.0" encoding="UTF-8"?>
<Configuration packages="org.graylog2.log4j" shutdownHook="disable" status="trace">
<Appenders>
<RollingFile name="RollingFile" fileName="${sys:logsDir}/graylog-server.log"
filePattern="${sys:logsDir}/graylog-server-%d{yyyy-MM-dd}.log.gz">
<PatternLayout>
<Pattern>%d %-5p: %c - %m%n</Pattern>
</PatternLayout>
<!-- Rotate logs every day -->
<Policies>
<TimeBasedTriggeringPolicy modulate="true" interval="1"/>
</Policies>
<!-- Keep a maximum of 10 log files -->
<DefaultRolloverStrategy max="10"/>
</RollingFile>
<Console name="STDOUT" target="SYSTEM_OUT">
<PatternLayout pattern="%d %-5p: %c - %m%n"/>
</Console>
<!-- Internal Graylog log appender. Please do not disable. This makes internal log messages available via REST calls. -->
<Memory name="graylog-internal-logs" bufferSize="500"/>
</Appenders>
<Loggers>
<Logger name="org.graylog2" level="debug"/>
<Logger name="com.github.joschi.jadconfig" level="warn"/>
<Logger name="org.apache.directory.api.ldap.model.message.BindRequestImpl" level="error"/>
<Logger name="org.elasticsearch.script" level="warn"/>
<Logger name="org.graylog2.periodical.VersionCheckThread" level="off"/>
<Logger name="org.drools.compiler.kie.builder.impl.KieRepositoryImpl" level="warn"/>
<Logger name="com.joestelmach.natty.Parser" level="warn"/>
<Logger name="kafka.log.Log" level="warn"/>
<Logger name="kafka.log.OffsetIndex" level="warn"/>
<Logger name="org.apache.shiro.session.mgt.AbstractValidatingSessionManager" level="warn"/>
<Root level="warn">
<AppenderRef ref="RollingFile"/>
<AppenderRef ref="graylog-internal-logs"/>
</Root>
</Loggers>
</Configuration>
Я использую следующие версии:
Elasticsearch: 5.6.8
Graylog: 2.4.3