log4cxx的PropertyWatchdog

log4cxx的PropertyWatchdog

(转载请注明来源于金庆的专栏)

查看log4cxx代码的时候, 看到了一个PropertyWatchdog类,
    class PropertyWatchdog  : public FileWatchdog
看来是定时检测log4j.properities配置文件的.

这正是我一直想要的功能, 更改配置无需重启就生效.

搜到一点代码片段:
http://mail-archives.apache.org/mod_mbox/logging-log4j-user/200101.mbox/%3C5.0.0.25.0.20010123124712.00aff690@mail.urbanet.ch%3E

再一看, 原来该类是内部使用的, 仅由PropertyConfigurator::configureAndWatch()使用.
配置时, 将configure()换成configureAndWatch()就行了. 只是这样就必须显式配置, 无法利用自动配置了.

要是能自动配置为自动更新就更好了. 查了代码, 好像只能由configureAndWatch()启动.
要是有个配置项该多好啊:
    log4j.reloadDelay=ssss

还发现了一个隐藏的配置项:
    log4j.debug=true/false
可能用来代替显式的setInternalDebugging()调用.

还发现cofigureAndWatch()在deamon()之后会失效,
daemon()调用时并没有改变当前目录也没有关闭文件, 但好像watch线程就会退出.
不知fork()调用后会不会也是同样.
现在没有时间去深究, 以后有空再看.
反正改为daemon()之后configureAndWatch()就行了.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值