【问题标题】:Application logging best practices - How to manage logging statements strewn all over your code?应用程序日志记录最佳实践 - 如何管理散布在代码中的日志记录语句?
【发布时间】:2015-06-18 15:42:27
【问题描述】:

我刚刚阅读了 Stackoverflow 上的 this 帖子,并且我没有看到日志记录的一个方面。独立于特定的日志框架,人们如何处理大多数方法导致日志/跟踪语句放置在整个代码中的事实,这使得实际看到代码库的肉和土豆变得更加困难。这只是生活的现实还是有解决这个问题的技术/机制,例如:

  • 一种选择性隐藏和显示所有日志记录和跟踪语句的方法
  • 使用启用日志记录的类或方法属性
  • ...?

我在 .NET/Visual Studio 工作,但我想我的问题普遍适用。

【问题讨论】:

  • 使用某种形式的日志记录?我假设 AOP 是由一些 .net 库或其他提供的..

标签: .net visual-studio debugging logging trace


【解决方案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 构建中删除该方法及其调用。但是,如果您需要该日志记录来发布您的代码,这并不是很有帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-02
    • 1970-01-01
    • 1970-01-01
    • 2018-03-27
    • 2021-08-05
    • 1970-01-01
    • 1970-01-01
    • 2010-10-08
    相关资源
    最近更新 更多