最近新开项目,要用到log,虽然现在的log库不少。但是要为C++项目增加库还是首选boost。
首先从boost.org上下载最新的boost,编译:
bjam --with-log link=shared runtime-link=shared
编译完成,发现生成了stage\lib目录下不仅有log库,还包含了其他一些库,这些都是log在运行中需要依赖的。将这些lib和dll全部copy到需要用到的可执行文件目录下。
需要注意的几点:
现在一般的应用都是由多模块组成,而且每一个模块都需要输出log,所以将log库编译为动态库是最好的选择
依赖log库的模块(lib/dll/exe), 需要加入预编译宏BOOST_ALL_DYN_LINK,否则在链接时会找不到对应的boost lib文件
log库的使用:
这部分都是参考别人的博客来写的, 具体请参看:https://www.cnblogs.com/liaocheng/p/4222885.html
#pragma once
#include <boost/log/core.hpp>
#include <boost/log/trivial.hpp>
#include <boost/log/expressions.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.org下载并编译Boost.Log为动态库,重点关注编译选项和运行时依赖。在多模块项目中,推荐将log库编译为动态库,并在每个依赖模块中设置预编译宏BOOST_ALL_DYN_LINK。文中还提到,通过logging::add_console_log和logging::add_file_log定制日志输出,并使用keyword::format进行格式化。对于大型项目,可以创建一个专门的log管理DLL工程,以保持程序目录整洁并确保全局唯一输出模块。
最低0.47元/天 解锁文章
380

被折叠的 条评论
为什么被折叠?



