【问题标题】:Can we create each boost logger instance for each class object?我们可以为每个类对象创建每个 boost logger 实例吗?
【发布时间】:2016-06-28 08:03:17
【问题描述】:


过去三个月我一直在使用 boost log。我在类内部使用boost logger作为静态。

BoostLogger.h:

class CBoostLogger
{
private: 
  SharedPtr< SinkFileBackend > backend; 
  ...
public: 
  static src::wseverity_logger_mt< logging::trivial::severity_level > slg;
...
}

BoostLogger.cpp:

#include "BoostLogger.h"
////////////////////////////////////
//Global Declarations
////////////////////////////////////
src::wseverity_logger_mt< logging::trivial::severity_level > CBoostLogger::slg;


但我想为单个类对象创建单个记录器。

可以创作吗?

给点建议?

问候,
阿伦

【问题讨论】:

    标签: c++ logging boost boost-log


    【解决方案1】:

    多个消息来源说 Boost 记录器可以有多个实例。您可以在this linkthis link 阅读有关此内容的信息。

    IMO 我将使用单个记录器对象并使用特定消息来告诉我日志条目的来源,格式如下:(文件)、(代码行)、(方法)日志消息;

    例如:Main.cpp 25 main() : 警告,无法打开文件。

    【讨论】:

    • 谢谢。假设我要创建我正在上课。在课堂上,我创建了 source::logger lg;作为公众。在类构造函数中,我正在使用 add_file_log 创建文件。是否可以使用不同的类对象写入单个文件。
    • 我以前只写一个日志文件,然后如果真的需要我会解析日志文件以提取我需要的信息,或者我会使用 Notepad++ 中的搜索选项来过滤掉结果。
    猜你喜欢
    • 1970-01-01
    • 2021-06-07
    • 2012-04-22
    • 2020-11-21
    • 2020-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多