• Boost Log : Trivial logging


    Tutorial

    在本节中,我们将介绍如何开始Boost Log的基本步骤。在阅读完之后,您应该能够初始化库并将日志记录添加到您的应用程序中。本教程的代码也可以在libs/log/例题目录中的示例中使用。您可以随意修改,编译并查看结果。

    Trivial logging

    对于那些不想阅读大量的手册,只需要一个简单的日志工具的人来说,你可以这样做:

    #include <boost/log/trivial.hpp>
    
    int main(int, char*[])
    {
        BOOST_LOG_TRIVIAL(trace) << "A trace severity message";
        BOOST_LOG_TRIVIAL(debug) << "A debug severity message";
        BOOST_LOG_TRIVIAL(info) << "An informational severity message";
        BOOST_LOG_TRIVIAL(warning) << "A warning severity message";
        BOOST_LOG_TRIVIAL(error) << "An error severity message";
        BOOST_LOG_TRIVIAL(fatal) << "A fatal severity message";
    
        return 0;
    }
    

    BOOST_LOG_TRIVIAL宏接受一个表示严重级别的参数,然后产生一个支持输入操作符的类似stream的对象。使用这段代码,可以将日志消息打印到控制台。正如您所看到的,这个库使用模式与您使用std::cout非常相似。然而,Boost Log有几个优点:

    1. 除了记录消息之外,输出中的每个日志记录都包含一个时间戳、当前线程标识符和严重性级别
    2. 同时从不同线程写入日志是安全的,日志消息不会被破坏。
    3. 如下所示,Boost Log库可以使用过滤器。

    必须指出的是,宏和库提供的其他类似宏并不是库提供的唯一接口。不使用任何宏也可以输出日志记录。

    自定义简单log

    #include <fstream>
    void log(const std::string &str)
    {
    	static std::ofstream out("log.txt", std::ios::app);
    	if (out)
    	{
    		out << str << std::endl;
    	}
    }
    
  • 相关阅读:
    元素居中浏览器的多种方法集锦
    javascript深入理解js闭包
    闭包
    碎片
    define
    define定义方法
    创建数据库sql语句
    java十进制转换成二进制数
    java解析JSON数据
    java实现最通俗易懂的01背包问题
  • 原文地址:https://www.cnblogs.com/kohlrabi/p/9142718.html
Copyright © 2020-2023  润新知