NutzCN Logo
问答 @wendal log4j2的问题,好久都没解决,也不知道上哪去问了,每天都来nutz,在这里找找答案吧
发布于 2987天前 作者 qq_16dd5808 2621 次浏览 复制 上一个帖子 下一个帖子
标签:

我的目的是,每小时生成一个日志,这个是没有问题的,目前会生成

/logs/2016/2016-10/2016-10-18/2016-10-18_10.log
/logs/2016/2016-10/2016-10-18/2016-10-18_11.log
/logs/2016/2016-10/2016-10-18/2016-10-18_12.log

这样的数据,但是还有个要求就是,日志只保留5天,所以2016-10-13之前的日志要自动删除,就是这个自动删除怎么配置都不好使
不知道@wendal能不能看看,DefaultRolloverStrategy标记中的Delete 是不是配置的不对?
log4j2.xml部分配置如下:

<!-- 每小时一个日志 -->
        <RollingFile name="rollingFile"
                     fileName="../logs/log.log"
                     filePattern="../logs/$${date:yyyy}/$${date:yyyy-MM}/$${date:yyyy-MM-dd}/%d{yyyy-MM-dd_HH}.log">
            <PatternLayout pattern="[%-5level][%d{yyyy-MM-dd HH:mm:ss.SSS}]%l%message%n" />
            <ThresholdFilter level="ALL" />
            <Policies>
                <TimeBasedTriggeringPolicy interval="1"
                                           modulate="true" />
            </Policies>
            <DefaultRolloverStrategy>
                <Delete basePath="../logs/"
                        maxDepth="5">
                    <IfFileName glob="*.log" />
                    <IfLastModified age="5d" />
                </Delete>
            </DefaultRolloverStrategy>
        </RollingFile>
12 回复

再单独写个脚本程序删日志咯

来自美丽的 NutzCN

@zozoh o看到log4j2本身就带这个功能,就想用用看呢。结果没玩好。都不管用

测试的时候把文件的修改日期改成5天前了?

@wendal 嗯,改了,配置也改过保留一天,也是没有删掉,不知道咋回事

来自炫酷的 NutzCN

@qq_16dd5808 为啥我觉得你改的是文件名,而不是文件修改时间

@wendal (⊙o⊙)…我改的系统时间。。。

来自炫酷的 NutzCN

所以是测试方法不对路

@wendal 可是服务器上的都快有大半个月的日子了,按理说如果配置正确,应该只有5个文件夹才对,就是只有5天的日子才对啊

来自炫酷的 NutzCN

额, 文件夹是不会删的吧?

@wendal 嗯文件夹不会删,但是里面的文件也没有删掉,就很奇怪

来自炫酷的 NutzCN

@wendal 不知道咋弄了。试了好多配置,都不行。唉。。

添加回复
请先登陆
回到顶部