问题标签 [boost-log]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 有使用 Boost.Log 日志库的经验吗?
我正在考虑开始使用Boost.Log 日志库。有人在使用 Boost.Log 吗?请分享您在这方面的经验。
我正在考虑的其他库是 Apache log4cxx(安装起来似乎很乏味,但我的队友想要一些简单的开始)和 Pantheios(同样的问题,因为它与额外的前端和后端一起工作)。
boost - 应用程序崩溃时不存储 boost.log auto_flush 文件
最近我开始玩 boost.log,遇到了一个问题,即如果抛出一个未经处理的异常,则不会将日志消息写入日志文件。我正在使用滚动文本文件并设置了自动闪光选项。
以下是来自示例的修改源:
源代码在 Visual Studio 2008 下编译。 boost.log 为 boost 1.40 编译。
非常感谢任何帮助。
c++ - Boost.log V1 编译错误
在我的代码中编译 boost.log v1 时遇到困难,尽管我知道问题是由于 boost.filesystem v3 缺乏支持。我知道我需要,#define BOOST_FILESYSTEM_VERSION 2
但我应该在哪里定义它?
编译错误:
#define
已添加@path.hpp
logging - 如何使用 Boost.Log 将日志写入格式化文件夹?
Boost.Log 支持可配置的文件名,例如 %Y_%m_%d_sample_%N.log。我想要的是将它们放在不同的文件夹中,例如“%Y_%m_%d/sample_%N.log”,但它创建了一个名为“%Y_%m_%d”的文件夹,而我期待的是“2011_05_02” (对于我正在尝试的日期),你知道如何得到我想要的吗?谢谢
boost - 如何自定义Boost.Log的“TimeStamp”格式
我想得到年月日时:分:秒。分数(2位),如果我使用“%Y-%m-%d %H:%M:%S.%f”,我几乎得到了什么我想要秒的分数(最后一部分)例外,它在我的 Windows XP 上显示 6 位数字,我不知道如何只获得 2 位数字,知道吗?
c++ - 什么是boost log,如何获取以及如何构建
所以我听说了关于 boost log 的好消息。这声称它的存在:
http://boost-log.sourceforge.net/libs/log/doc/html/index.html
这是教程:
http://boost-log.sourceforge.net/libs/log/doc/html/log/tutorial.html#log.tutorial.trivial
但是,boost 日志不是 boost 的一部分。因此不在常规的 boost 分支中。
可以从这里单独下载 boost 日志:
http://sourceforge.net/projects/boost-log/
我可能只是太缺乏经验,但我发现安装说明很差。尽管如此,在下载文件夹 boost 和 lib 并将其复制到 boost 文件夹后,我可以运行 bootstrap 和 bjam。这会失败并出现与 Boost.Filesystem 版本相关的错误,类似于此处提到的错误:
http://boost.2283326.n4.nabble.com/Boost-Log-compilation-on-msvc-2010-fail-td3488502.html
Andrew Semashev(在上面的链接中)的建议是“请使用 Boost.Log v2(来自 SVN 主干)”。
查看https://boost-log.svn.sourceforge.net/svnroot/boost-log,我只能看到版本 1。
查看http://svn.boost.org/svn/boost/sandbox/,我可以找到 John Torjo 的 boost logging v2。但是,仅从可能不是 Andrew Semashev 所说的 boost log v2 的语法来看。
看到我已经在这方面花费了太多时间,我想我会得到一些帮助,也许其他人可能会从这篇文章和答案中受益并节省一些时间。我认为以前没有人回答过,我想像这些改变这样的答案。
所以,这里有:Andrew Semashev 所说的 boost log v2 是什么?它和约翰托尔乔的一样吗?如果没有,我在哪里可以找到它?我该如何构建它?
谢谢
PS 我应该提到这是在带有 Visual Studio Express 2010 的 Windows 上
PPS Guess“版本 2”,显然只是 SVN,也有问题,但是这条线(见下面塞尔吉奥的回答)
<toolset>msvc:<define>BOOST_FILESYSTEM_VERSION=2
在 bjam 文件中至少我可以编译。然而,这个文件
直接从教程中取出,尽管现在正在编译和链接,但不会产生任何输出......
c++ - Boost.Log - 如何配置文本接收器后端以附加到旋转文件
我有一个sinks::text_file_backend
水槽。假设我已经有一些旋转的日志文件:
myLog001.log、myLog002.log 等
我希望接收器继续写入最后一个旋转的文件 - myLog002.log,附加到其内容并从那里继续旋转。
我只是设法找到keywords::open_mode = append
,但这只会附加在现有的 myLogX 文件之上,使它们变得更大,当然也很难阅读。
这可以在 Boost.Log 中完成吗?
c++ - 为什么 boost.log 在 Windows XP 上会崩溃?
我正在使用 boost.log。除了实际获取和构建它的大量agro之外,它在 Windows 7 和 Vista 上运行良好。
我现在正尝试在 Windows XP 上使用该应用程序,但 boost.log 出现未处理的异常 ( Access violaton reading location 0x00000000
)。
这发生在log:mt_nt5::sources::aux::set_severity_level
尝试设置名为 的静态全局变量的方法中g_SeverityLevel
。
我找到了一份建议使用BOOST_LOG_NO_COMPILER_TLS
. 我试过这个,但它没有用。
我对此进行了进一步阅读,问题似乎出在声明为的全局变量周围__declspec(thread)
,这使得它成为线程静态的。这只是 Vista 之前的操作系统的问题。
我静态链接到 boost.log,所以我不知道为什么我的预处理器BOOST_LOG_NO_COMPILER_TLS
没有被识别。
我错过了什么吗?
更新:
无论我在使用 构建库时做什么bjam
,我的BOOST_LOG_NO_COMPILER_TLS
标志都不会被识别。我正在建造这样的:
我对比了stage
有无这个flag构建后文件夹中输出的内容,内容是一样的!
所以,一个相关的问题现在可能是: 我是否正确使用了 bjam 命令行?
boost-log - boost log 教程琐碎的日志记录示例在 VS2010 上没有链接
boost::system、filesystem3、coecvt 的未解析外部符号。
奇怪的是 examples\basic_usage 和 multiple_threads 链接并且工作正常。