首页 新闻 赞助 找找看

log4cxx与log4net的RollingFileAppender功能好像不一样

0
悬赏园豆:5 [已关闭问题] 关闭于 2014-04-09 10:11

用log4cxx的RollingFileAppender,当日志文件达到一定大小之后生成新的日志文件并删除旧的日志文件。
可是当log4cxx尝试删除旧的日志文件时,它如果发现该文件被占用(如正在被复制,移动),那么log4cxx将不会删除这个旧的日志文件,他也不会生成新的日志文件,而是把日志内容持续写入当前最新的那个日志文件中。如果旧文件被占用的时间较长,且该期间产生的日志内容又比较多时,那么就有可能产生一个体积足够庞大的日志文件。等到被占用的旧日志文件被释放时,log4cxx才会去删除它,再生成一个新的日志文件。

同样的情况,log4net的处理就聪明了很多。他会产生一个同名但扩展名为DeletePending的文件供别的程序(正在复制,移动)使用,旧文件会被删除,新文件会被创建。等到别的程序操作完成之后log4net会自动将DeletePending文件删除。

我想问的是,log4cxx是否可以通过某些配置来达到和log4net同样的效果。我刚接触log4cxx不久,很多地方不明白,还请前辈们多教导教导,在此谢过了。

八月神释的主页 八月神释 | 初学一级 | 园豆:11
提问于:2013-11-04 10:42
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册