是否有任何标准方法可以将调试打印放入库中?

时间:2011-12-26 06:11:49

标签: c++ c linux debugging

我见过很多用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然后只有错误和警告将存在。

那么现在是否有任何标准或更好的方法可以在库/项目中进行此类调试打印?

2 个答案:

答案 0 :(得分:4)

任何类似的系统都是合理的;我所知道的并没有事实上的标准。您可以提供将输出发送到不同文件的功能。更复杂的系统可能允许您识别不同的子系统,并为不同的子系统设置不同的调试级别。但这是相当不寻常的,取决于该库是否可以明智地细分为子系统。

答案 1 :(得分:3)

没有标准的方法,每个图书馆或项目都采用自己的方案 您提到的方案是许多实现中最常用的方案。