带有提升的事件日志目录

时间:2016-04-04 08:30:42

标签: c++ logging boost

我想用C ++登录Windows事件日志。 我尝试了boost并添加了简单的日志。 但是我想在事件查看器中创建一个新目录并登录到该目录。

如何使用boost事件记录器或其他方式(除了boost)?

我添加了一个事件查看器的屏幕截图,其中显示了我要添加目录并在其中登录的部分。enter image description here

这是我的事件日志初始化方法。

void LogHelper::InitEventLogger(LogLevel minLogLevel)
{
    try
    {
        // Create an event log sink
        typedef sinks::synchronous_sink< sinks::simple_event_log_backend > sink_t;
        boost::shared_ptr< sink_t > sink = boost::make_shared< sink_t>();

        sink->set_filter(expr::attr<LogLevel>("Severity") >= minLogLevel);
        sink->set_formatter(expr::stream << expr::attr< boost::posix_time::ptime >("TimeStamp") << " : " << expr::smessage);

        // We'll have to map our custom levels to the event log event types
        sinks::event_log::custom_event_type_mapping< LogLevel > mapping("Severity");
        mapping[LogLevel::info] = sinks::event_log::info;
        mapping[LogLevel::warning] = sinks::event_log::warning;
        mapping[LogLevel::error] = sinks::event_log::error;

        sink->locked_backend()->set_event_type_mapper(mapping);
        logging::core::get()->add_sink(sink);
    }
    catch (std::exception & ex)
    {
    }
}

0 个答案:

没有答案