【问题标题】:boost.log v2, how to get the current log file nameboost.log v2,如何获取当前日志文件名
【发布时间】:2015-09-08 08:53:35
【问题描述】:

我正在更新一个包含 boost 记录器的 C++ 类,以使用最新的 boost 版本和 logger v2 API。

大部分工作已经完成,但是对于 logger v1,我们使用 API 来获取当前日志文件名和路径,如下例所示:

boost::filesystem::path p = pAsyncFileSink->locked_backend()->get_log_filename()

我搜索了几个小时,但找不到使用当前 API 的方法!如果我们使用旋转文本文件后端,如何获取最新或正在使用的文件名?

欢迎任何帮助或建议。 亚历克斯。

【问题讨论】:

    标签: c++ boost-log boost-logging


    【解决方案1】:

    没有获取当前文件名的 API。在实现中可以看到文件名只有在执行文件轮换时才会生成,这使得sink在某些时间点可能没有文件名。

    【讨论】:

    • 好的,谢谢,我自己看了一下 text_file_backend 是如何实现的,现在我很确定要恢复该功能的唯一方法是修补 boost log,因为不是我们可以注入的信号或类来获取我们/记录器正在写入的当前文件名或路径(我认为自定义文件收集器可能是个好主意,但这并不是因为收集器只有在文件已关闭....)!这是一个缺失的功能:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-06
    • 1970-01-01
    • 2016-04-20
    • 2015-04-21
    • 2016-03-12
    相关资源
    最近更新 更多