是否有标准的方法将调试打印放在库中?
Is there any standard way for putting debug print in a library?
我见过很多用C和c++编程语言编写的库,其中每个库都有自己的调试打印方法。我见过的最常见的是:
用户为这个
设置标志1> for error prints
2> for warning prints
3> for debug values prints
4> for getting all this print on stdout/stderr
5> for getting all this print on logfile
另一个最好的例子是Gstremer库中提供的
调试级机制
level-1 for error
level-2 for warning
level-3 for debug
level-4 for info
level-5 for log
如果用户通过5级,则所有打印将在那里;如果他设置2,那么只有错误和警告将在那里。
所以现在有没有标准或更好的方法来调试打印库/项目?
任何类似的系统都是合理的;据我所知,并没有一个事实上的标准。您可以提供将输出发送到不同文件的函数。更复杂的系统可能允许您识别不同的子系统,并为不同的子系统设置不同的调试级别。但这是相当不寻常的,这取决于库是否可以合理地细分为子系统。
没有标准的方法,每个库或项目都有自己的方案。
您提到的方案是许多实现中最常用的。
相关文章:
- main() 中的 std::cout 在调试期间不会在调试控制台中打印任何内容
- 为自定义打印调试实现传递任何类型的变量
- C++ 中 uint8_t* 值的含义和调试(打印)
- 在 Visual Studio 调试器中,如何从内存中打印字节范围?
- 如何关闭用于在程序中打印调试数据的函数
- 如何打印调试C++ Win32 DLL?
- cLion & cMake 不调试/打印错误
- printf 语句在调试期间未在控制台上打印
- Android Studio,CMake.如何在编译时打印调试消息
- q调试打印错误的数字
- 为什么程序打印在调试和发布中浮动不同
- C++调试打印到流会生成警告
- 如何使dumpObjectInfo打印调试信息
- 是否可以调试打印当前函数的调用方
- C++-创建虚拟函数以打印调试消息的最佳方式
- 如何用尽可能少的代码行打印我在屏幕/调试器上看到的内容
- 打印和调试时,视觉C++值会有所不同
- 调试"print to file"打印驱动程序代码
- 为类打印输出(打印调试信息)的最佳实践是什么?
- 打印/调试libc++ STL与Xcode/LLDB