控制C ++库中的调试级别 - Linux

时间:2010-06-03 12:33:04

标签: c++ linux logging cross-platform

我有一个C ++库,可以在Linux和Windows中使用。 我想让用户能够控制调试级别(0 - 无调试,1 - 只有严重错误... 5 - 信息性调试信息)。

调试日志将打印到文本文件中。

在Windows中,我可以使用注册表值(DWORD DebugLevel)来完成。

什么可以是一个适用于Linux的好替代品? (没有第三方工具,例如Linux“注册表”)。

提前致谢!

4 个答案:

答案 0 :(得分:0)

您的图书馆是否具有某种初始化功能?使该级别成为该函数的参数。理想情况下,将传入的值存储在上下文结构或类中,如果它对您的API有意义(即,如果您要求客户端始终通过“上下文”操作) - 但如果不是,则全局可能是合理的。

答案 1 :(得分:0)

如果它主要用于开发目的(即您所指的“用户”是使用您的库的开发人员,而不是该代码的最终用户),最快/最简单的方法是使用环境变量。

如果要由最终用户控制,您可能需要扩展您的API,以便应用程序开发人员可以在读取其配置文件后在代码中设置调试级别 - 您通常不会有单独的配置文件只用于程序使用的一个库。

答案 2 :(得分:0)

您可以使用log4cxx框架。这可以通过文件进行配置。我还没有尝试过,但它也适用于Windows。

答案 3 :(得分:0)

您可以在/ etc / YOURAPP或〜/ .YOURAPP或〜/ .config / YOURAPP中使用配置文件