Boost.Log - 记录应用程序的严重错误
Boost.Log - logging an application's critical errors
我在我的应用程序中使用Boost.log。如果有多个线程进行大规模日志记录,那么日志记录操作一定不能被锁定,因此我使用以下接收器进行日志记录:
boost::log::sinks::ordering_asynchronous_sink
插入前端文件:
boost::log::sinks::text_file_backend
日志记录的主要目的是查看严重错误以诊断崩溃。然而,我注意到记录只在一段时间内被写入文件(当一定数量的记录可能已经增加时),这意味着突然崩溃将不会留下任何日志记录来解释它。
我能做什么?我可以强制文件写入致命严重性错误吗?有更好的方法吗?
听起来您的日志条目没有立即刷新到磁盘。这是提高磁盘性能的典型默认行为(避免太多的小写操作),但它有您在这里描述的缺点。您可以在日志记录后端设置auto_flush标志,以确保所有日志条目都立即写入磁盘。
相关文章:
- 示例外壳应用程序显示的 V8 "segmentation fault (core dumped)"错误
- C++应用程序 MySQL odbc 数据库连接错误:在引发"otl_tmpl_exception<>"实例后终止调用
- Visual Studio中的wxwidgets应用程序给出错误"LNK2019 unresolved external symbol"
- 调用 java 的回调() 时应用程序崩溃.由于 detatchThread 而获得运行时错误
- 设置我的应用程序 API 感知并防止系统使其模糊和错误定位
- 错误: 无效使用非静态数据成员"应用程序::应用程序构造函数"
- QT C++防止关闭应用程序时出现运行时错误
- JNI 在应用程序中检测到错误:在为 innerclass 调用 NewObject 时使用了无效的 jobject
- 如何使用CLion和MSVC编译器工具链编译wxWidgets Hello World应用程序而没有错误?
- 运行 libpng 应用程序时出现运行时错误
- .exe应用程序在windows10中创建新模块时抛出错误,但在windows7中工作正常
- 由于选项卡顺序的原因,鼠标光标总是得到错误的hwnd-MFC应用程序
- C++ 错误的分配应用程序失败
- Android (ART) 崩溃并显示错误 JNI 在应用程序中检测到错误:jstring 是无效的本地引用
- 使用提升过程编译简单的应用程序会生成错误
- Windows 8上的.exe文件中的MSVCR90.dll错误 - 应用程序无法正确启动(0xc000007b)
- VS2012错误:应用程序无法正确启动(0xc000007b)
- Visual Studio 2012 错误:应用程序无法正确启动 (0xc0000007b)
- Boost.Log - 记录应用程序的严重错误
- QObject::connect()错误.应用程序崩溃.无构建错误