我有几段代码非常占用处理器资源。我在那里有用于内部部署和测试的调试语句,但是当我部署到我的客户站点时,我想做一个没有这些的构建。我目前使用:
ifIsDebugEnabled()
包装日志消息,但这也占用了处理器时间,当我评论所有注销时,性能得到改善。有没有标准的方法来解决这个问题,或者我可以做其他事情吗?
谢谢, 理查德
最佳答案
要优化方法调用,您可以将 ConditionalAttribute
放在方法上。像这样:
[Conditional("DEBUG")]
void SomeDebugMethod(string message) {
// ...
}
如果代码是在除 DEBUG 之外的其他配置中编译的,将删除对该方法的调用。
如果您有能力将调试逻辑放在方法中,这比使用像 #ifdef DEBUG .. #endif
这样的指令看起来更简洁。
关于c#优化掉一些日志语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6569860/