我刚刚阅读了Stackoverflow上的this帖子,并且记录的一个方面是我没有看到解决的问题。独立于特定的日志记录框架,人们如何处理大多数方法导致在整个代码中放置日志记录/跟踪语句的事实,这使得实际查看代码库的含义变得更加困难。这只是生活的现实,还是有解决这个问题的技巧/机制,例如:
我在.NET / Visual studio工作,但我想我的问题一般适用。
答案 0 :(得分:1)
最终,如果您希望在应用中进行日志记录/跟踪,那么您的源代码中就不会有代码转发。
理论上,您可以使用面向方面编程(AOP
)工具(例如PostSharp)来挂钩日志记录/跟踪调用,但可以考虑在方法中调用跟踪,例如。
public void Foo()
{
Trace.WriteLine("About to call web service");
Trace.WriteLine("Updating database with data");
}
你无能为力"隐藏"那些来自视野。从理论上讲,您可以使用Conditional
属性...
[Conditional("DEBUG")]
public void Trace(string message)
{
Trace.WriteLine(message);
}
...以便从release
版本中删除该方法并调用它。但是,如果您需要为代码的发布版本进行日志记录,那么这并不是非常有用!