如何在C程序中将日志记录逻辑与业务逻辑分开?在一个C?

前端之家收集整理的这篇文章主要介绍了如何在C程序中将日志记录逻辑与业务逻辑分开?在一个C?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我目前正在用C编码,我有很多printfs,所以我可以在某些时候跟踪我的应用程序的流程.问题是有时我想要比其他人更多的细节,所以我通常花时间评论/取消注释我的C代码,所以我可以获得适当的输出.

使用Java或C#时,我通常可以使用Aspects将我的实现代码与日志记录逻辑分开.

你在C中使用了类似的技术来解决这个问题吗?

我知道我可以放置一个名为DEBUG的标志,可以打开或关闭,所以每次我想要显示或隐藏printfs时,我都不必全身心地评论/取消注释我的整个代码.问题是我还想摆脱代码中的日志记录逻辑.

如果不是C而是用C编码,那会更好吗?

编辑

似乎有一个AspectC,所以对于C似乎有一个解决方案.那C怎么样?

谢谢

解决方法

IME您无法真正将日志记录与要记录的算法分开.策略性地放置日志记录需要时间和经验.通常,代码会在整个生命周期内保持汇编日志语句(尽管它是渐近的).通常,日志记录随代码而发展.如果算法经常更改,通常会记录日志代码.

您可以做的是使记录尽可能不引人注目.也就是说,确保日志记录语句始终是单行,不会破坏读取算法,使其他人可以将其他日志记录语句插入到现有算法中,而无需完全了解您的日志记录库等.

简而言之,像处理字符串处理一样处理日志记录:将它包装在一个很好的小lib中,它将被包含在任何地方并使用,快速创建lib,并使其易于使用.

原文链接:https://www.f2er.com/c/120155.html

猜你在找的C&C++相关文章