Свойства Log4j2 очищают верхнюю часть журнала автоматически при попадании более 100 МБ - PullRequest
0 голосов
/ 07 февраля 2020

Я использую log4j2 в весенней загрузке. хотел бы знать, каждый раз, когда я перезапускаю программу, все журналы очищаются. Я хочу, чтобы журналы очищались не все, кроме случаев, если они имеют размер 100 МБ, тогда верхняя часть журналов будет автоматически очищаться до тех пор, пока размер не станет меньше или равен 100 МБ.

status = debug
name = PropertiesConfig

#Make sure to change log file path as per your need
property.logPath = C:\\Users\\jason\\Documents\\log\\

filters = threshold

filter.threshold.type = ThresholdFilter
filter.threshold.level = debug

appenders = rolling

appender.rolling.type = RollingFile
appender.rolling.name = RollingFile
appender.rolling.fileName = ${logPath}app.log
appender.rolling.filePattern = debug-backup-%d{MM-dd-yy-HH-mm-ss}-%i.log.gz
appender.rolling.layout.type = PatternLayout
appender.rolling.layout.pattern = %d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
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.policies.size.type = SizeBasedTriggeringPolicy
appender.rolling.policies.size.size=100MB
appender.rolling.strategy.type = DefaultRolloverStrategy
appender.rolling.strategy.max = 20

loggers = rolling

#Make sure to change the package structure as per your application

logger.rolling.name = com.jason
logger.rolling.level = debug
logger.rolling.additivity = false
logger.rolling.appenderRef.rolling.ref = RollingFile


1 Ответ

0 голосов
/ 07 февраля 2020

В вашем шаблоне файлов указано, что вы переворачиваете файл каждую секунду или когда размер файла достигает 100 МБ, и вы сохраняете максимум 20 файлов в секунду. всего 100 МБ файлов, но чтобы выполнить то, что вы просите, вам нужно добавить действие Delete в DefaultRolloverStrategy. Что-то вроде

appender.rolling.strategy.action.type = Delete
appender.rolling.strategy.action.basepath = ${logPath}
appender.rolling.strategy.action.maxdepth = 1
appender.rolling.strategy.action.condition.type = IfAccumulatedFileSize
appender.rolling.strategy.action.condition.exceeds = 100MB
appender.rolling.strategy.action.PathConditions.type = IfFileName
appender.rolling.strategy.action.PathConditions.glob = debug-backup-*.log.gz

Это будет хранить новейшие файлы журнала, пока файлы, соответствующие шаблону, не будут использовать пространство размером 100 МБ.

...