我见过很多用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然后只有错误和警告将存在。
那么现在是否有任何标准或更好的方法可以在库/项目中进行此类调试打印?
答案 0 :(得分:4)
任何类似的系统都是合理的;我所知道的并没有事实上的标准。您可以提供将输出发送到不同文件的功能。更复杂的系统可能允许您识别不同的子系统,并为不同的子系统设置不同的调试级别。但这是相当不寻常的,取决于该库是否可以明智地细分为子系统。
答案 1 :(得分:3)
没有标准的方法,每个图书馆或项目都采用自己的方案 您提到的方案是许多实现中最常用的方案。