通常在我开发程序时,我会抛出一些console.writeline语句,让我知道应用程序在调试过程中正在做什么。通常我会发现自己删除它们并将它们重新添加以保持代码清洁。我还没有找到一种看似有效的方法将这些优雅地放在代码中。
我想知道其他人做了什么或被认为是最佳做法。我不确定我是否可以使用跟踪,因为我没有在安装了Visual Studio的计算机上进行调试(我发布的服务器没有它)。
有没有基于AOP的方法来攻击它?理想情况下,我不希望生产代码中的输出,因为写入控制台似乎会降低应用程序的速度。
提前致谢!
答案 0 :(得分:8)
您是否看过使用Log4Net?对你来说应该更加灵活。您可以在代码中留下大量日志记录,并根据执行时加载的配置打开或关闭它。
答案 1 :(得分:3)
有很多选项可以登出。 MS企业库和log4net是两个非常受欢迎的选项。在这些中,您可以通过配置文件控制日志记录的级别,以便在开发中可以进行非常详细的日志记录,但是在prod中,您可以抑制除例外的所有错误 - 所有这些都不会更改代码。
此外,如果您需要调试生产问题,只需更改配置设置即可在生产中启用详细登录。
答案 2 :(得分:2)
Microsoft的企业库Logging Application Block可能是一种选择。
答案 3 :(得分:0)
您是否仅在调试模式下尝试写入?我相信这样做的正确方法是这样的:
#if DEBUG
Console.WriteLine("Debug stuff here");
#endif