提问人:Alex 提问时间:10/12/2022 最后编辑:Alex 更新时间:10/13/2022 访问量:55
如何从 log4cxx 获取 RollingFileAppender 的日志记录目录?
How can I get the logging directory of a RollingFileAppender from log4cxx?
问:
我正在使用XML来配置log4cxx。appender 是一个输出到类似 的文件夹,我需要知道程序末尾的文件夹是什么。RollingFileAppender
yyyy/MM/dd/HHmm
我无法在运行时获取当前值,因为该值可能与创建日志目录时的值不同。在浏览了 log4cxx 的文档后,我只发现了一个相关的函数:yyyy/MM/dd/HHmm
log4cxx::FileAppender::getFile()
返回 appender 记录到的文件。
这样做的问题是,如果我知道这是最终类型,我可以将其转换为 s-,但这会给程序带来不确定性。真的没有办法从 log4cxx 获取当前日志目录吗?log4cxx::Logger::getAppender()
AppenderPtr
dynamic_cast
FileAppender
谢谢!
答:
0赞
rm5248
10/13/2022
#1
目前没有(简单的)方法可以获取 RollingFileAppender 正在使用的文件名。
使用是获得您正在寻找的正确 appender 的最佳方式。由于追加器都应该具有唯一的名称,因此强制转换为正确的类型应该没有任何问题。如果希望安全强制转换,请使用 which 在无法将对象强制转换为正确类型时返回无效指针。Logger::getAppender()
log4cxx::cast<FileAppender>( AppenderPtr )
评论