配置 log4cplus 以在运行时记录到自定义文件

Posted

技术标签:

【中文标题】配置 log4cplus 以在运行时记录到自定义文件【英文标题】:configure log4cplus to log to custom file at runtime 【发布时间】:2018-01-15 04:24:06 【问题描述】:

我正在使用配置文件来初始化 log4cplus 模块。我们在配置文件中使用下面的命令来指定要生成的日志文件名。

log4cplus.appender.log1.File=TestFile.log

我希望在运行时生成这个 TestFile.log。我使用 setProperty 函数在运行时更改日志文件名,但没有得到想要的结果。

在代码中 -

log4cplus::helpers::Properties 道具; props.setProperty(LOG4CPLUS_TEXT("File"), LOG4CPLUS_TEXT("TestFile.log"));

在配置文件中 -

log4cplus.appender.afile2.File=$File

但这会生成日志文件为“$File”而不是“TestFile.log”。

【问题讨论】:

【参考方案1】:

在您的命令中尝试以下行。

log4cplus::helpers::Properties props("TextConfiguration.txt");
    props.setProperty(LOG4CPLUS_TEXT("log4cplus.appender.afile2.File"), LOG4CPLUS_TEXT("TestFile.log"));
PropertyConfigurator conf(props);
conf.configure();

无需更改配置文件。

【讨论】:

以上是关于配置 log4cplus 以在运行时记录到自定义文件的主要内容,如果未能解决你的问题,请参考以下文章

log4cplus使用

使用Log4Cplus+配置文件打印日志

log4cplus库的properties文件配置

在编译或运行 PyQT4 GUI 应用程序时排除(或禁用)log4cplus 警告?

log4cplus使用-日志重定向

log4cplus 无法解析的外部符号 LNK2001