实现临时详细日志记录以检测具体错误原因的最佳方法:分支、分叉或预处理器指令

Best approach for implement temporary verbose logging for detect the cause of a concrete bug: branch, fork or preprocessor directive

我们的一位客户在我们的应用程序中检测到一个错误,我们无法在我们的机器上重现它。我们的应用程序调用了很多自定义 DLL(这些是我们的),因此作为第一次尝试了解正在发生的事情,我们决定实施详细的日志记录(日志记录目前正在进行但没有那么详细)以查看顺序调用它正在完成,然后将这个新设置分发给我们的客户,以便客户向我们提供日志文件,以便我们对其进行分析。

由于我只需要为这种情况实现详细的日志记录作为“调试”版本,最好的方法是什么?为此做一个分支,做一个分支或使用 C# 预处理器指令。考虑到我不考虑将这种冗长的日志记录合并到我们的最终应用程序中(因为它只是为了调试一个具体的错误,我不想影响性能),这是我能做的最好的方法吗?

您可以将其保留在主分支中,但将其包装在 feature flag 中,这样您就可以随时激活详细的日志记录。

这样,就不需要分支或分叉了。