gpt4 book ai didi

c++ - log4cplus: 动态加载配置脚本,如何解决这个问题?

转载 作者:行者123 更新时间:2023-11-28 04:29:59 25 4
gpt4 key购买 nike

当我在主函数中使用“ConfigureAndWatchThread”时,它起作用了

int main()
{
......
Logger root = Logger::getRoot();
log4cplus::ConfigureAndWatchThread configureThread("log4cplus.properties", 1 * 1000);
......
}

buf,如果我在其他函数中使用“ConfigureAndWatchThread”,动态加载配置不起作用!代码如下:

void b()
{
ConfigureAndWatchThread configureThread("log4cplus.properties", 5 * 1000);
}
void a()
{
b();
}

int main()
{
......
Logger root = Logger::getRoot();
a();
........
}

最佳答案

这是基本的变量生命周期问题。 configureThread 变量超出了 b() 的范围,这会杀死正在监视配置更改的整个线程。而当您在 main() 中拥有它时,只要您不退出 main() 它就会保持事件状态,这适用于整个应用程序运行时。

关于c++ - log4cplus: 动态加载配置脚本,如何解决这个问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53202359/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com