文档章节

Boost库学习(8)log

f4f
 f4f
发布于 2015/02/18 16:45
字数 259
阅读 63
收藏 0
点赞 0
评论 0

在实际项目中使用了我自己封装的Boost::log之后,发现使用体验并不好。

失败之处

  • log的输出控制不方便(必须重新编译)
  • 使用boost1.57之后,一旦调用了log设定函数,输出的就只剩下message了,没有时间等信息
  • 关闭log输出之后,还必须创建一个ostream的对象才能保证编译通过(虽然创建对象已经封装好了)
  • log的各个等级比较难记忆

改进之处

  • log的输出控制通过读配置文件完成
  • log设定函数不用手动调用,第一次输出log时自动调用,并且设置好了常用attributes
  • 关闭log输出时,自动将log输出语句变成空语句,不影响内存占用和编译执行速度
  • 直接用数字表示log等级
  • 整合了Boost::Program_options,可以通过命令行参数生成log配置文件的模板

完整的代码在template目录。

© 著作权归作者所有

共有 人打赏支持
f4f

f4f

粉丝 1
博文 10
码字总数 8952
作品 0
武汉
项目经理
VC2005使用boost

引自: http://blog.csdn.net/lidongfeng/archive/2006/05/24/752588.aspx 今天闲来无事,突然想学习boost,看看这个庞大的基础类库里面到底有些啥东西,以下是我的安装使用过程: 1、访问w...

长平狐 ⋅ 2012/08/28 ⋅ 0

将boost log 库源代码嵌入到工程中,需要添加哪些预定义宏?

我想将boost log 库源代码嵌入到我的工程中,需要添加哪些预定义宏? 之前我将boost datetime 库源代码嵌入到工程中,添加了BOOSTDATETIMESOURCE 和BOOSTDATETIMENOLIB 两个宏 将boost syste...

su_yh ⋅ 2016/05/25 ⋅ 1

boost.log历险记要

boost有了log库,其它的还用考虑吗?我希望将来我的程序只依赖一个库:boost。 但是人生的每个第一次,并不总是有很爽的体验 第一次用boost.log,折腾的够呛。 总结一下要点吧: 1 默认已经能...

牛搞 ⋅ 2014/03/21 ⋅ 2

boost-log-库 使用经历

最近想整一个日志库,以前使用过log4cplus,看到了boost推出了1.54版本之后,就开始有了一个log库。这个log看了介绍,之后开始尝试去使用。主要的应用场景是让多个模块(so,dll)使用。场景是一...

wclhjs ⋅ 2014/08/05 ⋅ 3

MySQL 5.7 MGR 集群搭建

原文出处:splittwo 最近看了一下mysql5.7的MGR集群挺不错的,有单主和多主模式,于是乎搭建测试了一下效果还不错,我指的不错是搭建和维护方面都比较简单。网上绝大多数都是单主模式,当然我...

split_two ⋅ 2017/11/17 ⋅ 0

C++ 类库资源

原文:C++ 类库资源 作者:Breaker C/C++ 开发库 | C/C++ Development Library 这里收集一些著名的 C/C++ 开发库、SDK、类库、可复用类与结构代码 等信息,列举它们的介绍、参考和网站链接,...

晨曦之光 ⋅ 2012/05/23 ⋅ 0

mysql5.7源码安装

1.安装所有包 yum -y install gcc-c++ ncurses-devel cmake make perl gcc autoconf automake zlib libxml libgcrypt libtool bison Python-devel 2.创建用户,目录,权限 [root@mysql1 ~]# g......

腿毛的忧伤 ⋅ 2017/04/18 ⋅ 0

Centos7.2 Systemd 方式编译 Mysql5.7.11

导读 MySQL 5.7 版本的发布,也就是说从现在开始5.7已经可以在生产环境中使用,有任何问题官方都将立刻修复。 MySQL 5.7主要特性: 原生支持Systemd 更好的性能:对于多核CPU、固态硬盘、锁有...

linuxprobe16 ⋅ 2016/11/18 ⋅ 0

Boost 1.58 版本发布,可移植的 C++ 标准库

Boost 1.58 版本发布,此版本主要新增了两个库: Endian: Types and conversion functions for correct byte ordering and more regardless of processor endianness. Sort: Includes sprea......

oschina ⋅ 2015/04/21 ⋅ 12

boost::share_ptr智能指针使用示例

最近项目中使用boost库的智能指针,感觉智能指针还是蛮强大的,在此贴出自己学习过程中编写的测试代码,以供其他想了解boost智能指针的朋友参考,有讲得不正确之处欢迎指出讨论。当然,使用b...

乐搏学院 ⋅ 2016/12/07 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

SpringCloud 微服务 (六) 服务通信 RestTemplate

壹 通信的方式主要有两种,Http 和 RPC SpringCloud使用的是Http方式通信, Dubbo的通信方式是RPC 记录学习SpringCloud的restful方式: RestTemplate (本篇)、Feign 贰 RestTemplate 类似 Http...

___大侠 ⋅ 13分钟前 ⋅ 0

React创建组件的三种方式

1.无状态函数式组建 无状态函数式组件,也就是你无法使用State,也无法使用组件的生命周期方法,这就决定了函数组件都是展示性组件,接收Props,渲染DOM,而不关注其他逻辑。 无状态函数式组...

kimyeongnam ⋅ 20分钟前 ⋅ 0

react 判断实例类型

今天在写组件的时候想通过判断内部子元素不同而在父元素上应用不同的class,于是首先要解决的就是如何判断子元素的类型。 这里附上一个讲的很全面的文章: https://www.cnblogs.com/onepixel...

球球 ⋅ 26分钟前 ⋅ 0

Centos7备份数据到百度网盘

一、关于 有时候我们需要进行数据备份,如果能自动将数据备份到百度网盘,那将会非常方便。百度网盘有较大的存储空间,而且不怕数据丢失,安全可靠。下面简单的总结一下如何使用 bypy 实现百...

zctzl ⋅ 40分钟前 ⋅ 0

开启远程SSH

SSH默认没有开启账号密码登陆,需要再配置表中修改: vim /etc/ssh/sshd_configPermitRootLogin yes #是否可以使用root账户登陆PasswordAuthentication yes #是都开启密码登陆ser...

Kefy ⋅ 43分钟前 ⋅ 0

Zookeeper3.4.11+Hadoop2.7.6+Hbase2.0.0搭建分布式集群

有段时间没更新博客了,趁着最近有点时间,来完成之前关于集群部署方面的知识。今天主要讲一讲Zookeeper+Hadoop+Hbase分布式集群的搭建,在我前几篇的集群搭建的博客中已经分别讲过了Zookeep...

海岸线的曙光 ⋅ 51分钟前 ⋅ 0

js保留两位小数方法总结

本文是小编针对js保留两位小数这个大家经常遇到的经典问题整理了在各种情况下的函数写法以及遇到问题的分析,以下是全部内容: 一、我们首先从经典的“四舍五入”算法讲起 1、四舍五入的情况...

孟飞阳 ⋅ 今天 ⋅ 0

python log

python log 处理方式 log_demo.py: 日志代码。 #! /usr/bin/env python# -*- coding: utf-8 -*-# __author__ = "Q1mi""""logging配置"""import osimport logging.config# 定义三种......

inidcard ⋅ 今天 ⋅ 0

mysql 中的信息数据库以及 shell 查询 sql

Information_schema 是 MySQL 自带的信息数据库,里面的“表”保存着服务器当前的实时信息。它提供了访问数据库元数据的方式。 什么是元数据呢?元数据是关于数据的数据,如数据库名或表名,...

blackfoxya ⋅ 今天 ⋅ 0

maven配置阿里云镜像享受飞的感觉

1.在maven目录下的conf/setting.xml中找到mirrors添加如下内容,对所有使用改maven打包的项目生效。 <mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.al......

kalnkaya ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部