Boost的日志库Log使用详解

项目中使用到了Boost日志库,今日来探索一下:

#include"boost/log/trivial.hpp"
#include"boost/log/sinks/text_file_backend.hpp"
#include"boost/log/utility/setup/file.hpp"
#include"boost/log/utility/setup/common_attributes.hpp"
#include"boost/date_time/posix_time/posix_time.hpp"
#include"boost/log/utility/setup/console.hpp"
#include"boost/format.hpp"//using namespace MyWorld;namespace logging = boost::log;
namespace src = boost::log::sources;
namespace sinks = boost::log::sinks;
namespace keywords = boost::log::keywords;
namespace pt = boost::posix_time;void init_boost_logging(const string& dir) {if (!boost::filesystem::exists(dir)){boost::filesystem::create_directories(dir);}// 初始化日志库  logging::add_common_attributes();// 将日志消息写入文件的 sinkauto sink = logging::add_file_log(keywords::file_name = dir + "/%Y%m%d.log", // 使用 %N 生成唯一的文件名  keywords::rotation_size = 10 * 1024 * 1024, // 文件大小达到 10 MB 时旋转  keywords::time_based_rotation = sinks::file::rotation_at_time_point(0, 0, 0), // 每天旋转  keywords::format = "[%TimeStamp% %ThreadID%]: %Message%"// 日志格式  );//控制台sinkauto console_sink = logging::add_console_log(cout,keywords::format = "[%TimeStamp%]: %Message%" // 日志格式  );// 如果不写这个 它不会实时的把日志写下去, 而是等待缓冲区满了,或者程序正常退出时写下,这样做的好处是减少IO操作.提高效率,  不过我这里不需要它. 因为我的程序可能会异常退出.sink->locked_backend()->auto_flush(true);//使日志实时更新// 激活 trivial loggerlogging::core::get()->set_filter(logging::trivial::severity >= logging::trivial::info);
}

使用时先初始化系统

int main() {//boost::filesystem::path source_file_path(__FILE__);//boost::filesystem::path source_dir = source_file_path.parent_path();cout << boost::filesystem::current_path() << endl;init_boost_logging("../Log/"); // 初始化日志系统  
}

其中,日志等级主要有以下几种

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";

先到这吧,下次再嗑

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/7946.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

构建 WebRTC 一对一信令服务器

构建 WebRTC 一对一信令服务器 构建 WebRTC 一对一信令服务器前言为什么选择 Nodejs&#xff1f;Nodejs 的基本原理浏览器使用 Nodejs安装 Nodejs 和 NPMsocket.io信令服务器搭建信令服务器客户端服务端启动服务器并测试 总结参考 构建 WebRTC 一对一信令服务器 前言 我们在学…

【Node.js从基础到高级运用】二十八、Node.js 内存管理浅析

Node.js 作为一个基于 Chrome V8 引擎的 JavaScript 运行环境&#xff0c;其性能和效率在很大程度上取决于内存管理的优劣。 1. Node.js 内存结构 在深入了解内存管理之前&#xff0c;我们需要先了解 Node.js 的内存结构。Node.js 的内存可以大致分为以下几个部分&#xff1a;…

Jmeter页面汉化和字体显示过小调整

在频繁解压使用Jmeter的时候&#xff0c;经常会遇到需要将页面的英文调整为中文&#xff0c;页面文字和编辑区域内容文字显示较小的问题&#xff0c;记录一下方便以后查阅。 1.页面汉化 Jmeter在解压启动之后页面显示是英文&#xff0c;如果需要修改为中文&#xff0c;可以修改…

uniapp的app端软件更新弹框

1&#xff1a;使用html PLUS实现&#xff1a;地址HTML5 API Reference (html5plus.org)&#xff0c;效果图 2&#xff1a;在app.vue的onLaunch生命周期中&#xff0c;代码如下&#xff1a; onLaunch: function() {let a 0let view new plus.nativeObj.View(maskView, {backg…

【WEEK11】学习目标及总结【Spring Boot】【中文版】

学习目标&#xff1a; 学习SpringBoot 学习内容&#xff1a; 参考视频教程【狂神说Java】SpringBoot最新教程IDEA版通俗易懂员工管理系统 页面国际化登录功能展示员工列表增加员工修改员工信息删除及404处理 学习时间及产出&#xff1a; 第十一周MON~SAT 2024.5.6【WEEK11】…

YOLOv5改进 | 主干篇 | 2024.5全新的移动端网络MobileNetV4改进YOLOv5(含MobileNetV4全部版本改进)

一、本文介绍 本文给大家带来的改进机制是MobileNetV4&#xff0c;其发布时间是2024.5月。MobileNetV4是一种高度优化的神经网络架构&#xff0c;专为移动设备设计。它最新的改动总结主要有两点&#xff0c;采用了通用反向瓶颈&#xff08;UIB&#xff09;和针对移动加速器优化…

AI烟雾监测识别摄像机:智能化安全防范的新利器

随着现代社会的不断发展&#xff0c;人们对于安全问题的关注日益增加&#xff0c;尤其是在日常生活和工作中&#xff0c;对火灾等意外事件的预防成为了一项重要任务。为了更好地应对火灾风险&#xff0c;近年来&#xff0c;AI烟雾监测识别摄像机应运而生&#xff0c;成为智能化…

【深度学习】实验1 波士顿房价预测

波士顿房价预测 代码 import numpy as np import matplotlib.pyplot as pltdef load_data():# 1.从文件导入数据datafile D:\Python\PythonProject\sklearn\housing.datadata np.fromfile(datafile, sep )# 每条数据包括14项&#xff0c;其中前面13项是影响因素&#xff0c…

【代码随想录算法训练Day1】LeetCode 704.二分查找、LeetCode 27.移除元素

Day1 数组、二分 二分并不算难&#xff0c;但有个比较麻烦的点是处理区间端点&#xff0c;如果区间端点处理不当&#xff0c;就容易出现死循环的情况&#xff0c;所以在我们处理二分的时候&#xff0c;要特别注意端点的处理&#xff0c;判断边界满足条件是严格不等或是大于等于…

Windows (exe) 、Windows ARM64 (exe) 、Windows ZlP Archive (win.zip),请问他们的区别是什么?

这三种文件格式都是用于Windows操作系统的软件或数据分发方式&#xff0c;它们的主要区别如下&#xff1a; 1.Windows (exe): 这通常是一个可执行文件&#xff0c;直接在Windows操作系统上运行。用户下载后双击即可安装或运行软件。它可能是一个安装程序&#xff0c;会在安装过…

Linux——PHP8.0编译安装和yum安装

文章目录 Linux——PHP8.0编译安装和yum安装PHP8.0编译安装PHP8.0yum安装 Linux——PHP8.0编译安装和yum安装 PHP8.0编译安装 此内容参考于&#xff1a;https://www.cnblogs.com/jhno1/p/14237034.html 安装依赖 # 安装编译依赖 [rootcsq ~]# yum -y install ncurses ncurses…

数据仓库之Hive

官方文档 简介 Apache Hive 是一个开源的数据仓库基础架构&#xff0c;用于在大规模数据集上进行数据汇总、查询和分析。它提供了一个类似于 SQL 的查询语言&#xff08;HiveQL&#xff09;&#xff0c;使用户能够通过类似于传统数据库的查询方式来处理大规模的结构化和半结构…

微软正在自主构建一个名为 MAI-1 的大型语言模型(不依赖 OpenAI)

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

所向披靡のmakefile

在VS里敲代码&#xff0c;只需要FnF5就可以直接运行勒&#xff0c;在Linux下敲代码却要即敲命令还要用编辑器还要用编译器&#xff0c;那在Linux下有没有能帮我们进行自动化组建的工具呢&#xff1f; 当然有&#xff0c;超级巨星&#xff1a;makefile&#xff01;&#xff01;…

Dropout作为贝叶斯近似: 表示深度学习中的模型不确定性

摘要 深度学习工具在应用机器学习领域受到了极大的关注。然而&#xff0c;这些用于回归和分类的工具并没有捕捉到模型的不确定性。相比之下&#xff0c;贝叶斯模型提供了一个基于数学的框架来推理模型的不确定性&#xff0c;但通常会带来令人望而却步的计算成本。本文提出了一…

面试中算法(删去n个数字后的最小值)

有一个整数&#xff0c;从该整数中去掉n个数字&#xff0c;要求剩下的数字形成的新整数尽可能小。 分析&#xff1a;使用栈的特性&#xff0c;在遍历原整数的数字时&#xff0c;让所有数字一个一个入栈&#xff0c;当某个数字需要被删除时&#xff0c;&#xff08;即栈顶数字&g…

【记录】Python3| 将 PDF 转换成 HTML/XML(✅⭐PyMuPDF+tqdm)

本文将会被汇总至 【记录】Python3&#xff5c;2024年 PDF 转 XML 或 HTML 的第三方库的使用方式、测评过程以及对比结果&#xff08;汇总&#xff09;&#xff0c;更多其他工具请访问该文章查看。 文章目录 PyMuPDF 使用体验与评估1 安装指南2 测试代码3 测试结果3.1 转 HTML …

【Python进阶】 类的系统知识总结 | 特殊变量方法 单双下划线、继承、多态、装饰器

之前在C中学过一些类与对象的知识&#xff0c;Python也同样是面向对象的&#xff0c;因而也有类与对象 浅浅总结一下 总结Python中关于类的知识 文章目录 1 类的基本定义和访问2 特殊变量&#xff08;属性/方法&#xff09;2.1 双下划线开头结尾——特殊方法2.1.1 初始化方法…

Git与GitHub交互

注册 https://github.com/ 本地库与远程库交互方式 创建本地库并提交文件 创建远程库 在本地库创建远程库地址别名 查看现有远程库地址的别名 git remote -v 创建远程库地址别名 git remote add [别名] [远程地址] 远程路地址位置 示例 成员1推送 git push [别名] [分支…

web server apache tomcat11-34-Ahead of Time compilation support

前言 整理这个官方翻译的系列&#xff0c;原因是网上大部分的 tomcat 版本比较旧&#xff0c;此版本为 v11 最新的版本。 开源项目 从零手写实现 tomcat minicat 别称【嗅虎】心有猛虎&#xff0c;轻嗅蔷薇。 系列文章 web server apache tomcat11-01-官方文档入门介绍 web…