自动记录错误/警告c#

自动记录错误/警告c#,c#,error-logging,C#,Error Logging,我正在寻找一种方法,让my code自动在c#中记录错误或警告,并使用参数名称和值以及试图对其执行的操作。我愿意为这部电影的演出而努力。目前我能想到的唯一方法是不直接调用任何方法,而是通过接受表达式/func的executor(extension)方法调用它。然而,我更希望这样做不必浪费我的代码。有没有办法做到这一点 谢谢您是否尝试过使用发件人,或者是否需要除异常以外的更多信息 而且,它显然很好。我以前听过,但从未用过。这是一个很好的例子。看看像PostSharp这样的面向方面编程工具在我读的其

我正在寻找一种方法,让my code自动在c#中记录错误或警告,并使用参数名称和值以及试图对其执行的操作。我愿意为这部电影的演出而努力。目前我能想到的唯一方法是不直接调用任何方法,而是通过接受表达式/func的executor(extension)方法调用它。然而,我更希望这样做不必浪费我的代码。有没有办法做到这一点

谢谢

您是否尝试过使用发件人,或者是否需要除异常以外的更多信息


而且,它显然很好。我以前听过,但从未用过。这是一个很好的例子。

看看像PostSharp这样的面向方面编程工具在我读的其他文章中不断出现。我觉得有点愚蠢,因为登录是他们网站上给出的例子之一。谢谢@亚历克斯:你的目标是什么科技?Windows客户端(WPF、Winforms)、web(asp.net、asp.mvc)。请使用适当的标记标记您的问题。您是否尝试记录所有方法调用及其参数?我怀疑你是否愿意接受那次演出的打击。如果您有几千行以上的代码,您的应用程序将由于跟踪每个方法调用及其参数的开销而突然停止。对于真实世界的应用程序,您需要更加有选择性地跟踪什么。Postsharp可以工作,但即使在关闭跟踪时也会为方法参数分配代理对象。这在我的分析器中显示为瓶颈。我一直告诉他们要通过摆脱postsharp跟踪来解决这个问题。@AloisKraus很有趣,这是一个常规的c#编译项目。我可能会想做2个dif编译,一个有拦截器,一个没有拦截器,如果速度成了我能生存的问题。实际上我不知道,但我想要更多。理想情况下,我希望记录返回默认返回类型的任何实例。另外,通过方法或类属性指定方法的日志记录级别也很好。您能再解释一下您的意思吗?例如,如果您需要一个
字符串
,您希望每次返回
null
字符串时都有一个日志。空的
?好的,例如,如果我调用了类Cook(配料),但没有传入配料(传入为null或诸如此类)因此,一般来说,对于配料,IEnumerable将被传回。在这种情况下,我想记录配料为null的事实,因为“param配料有null值——返回null”。这将是一个简单的情况,我希望它能够工作,即使操作是lambda exp,我不知道您可以做什么全局记录。据我所知,你必须为你想要记录的每个函数设置捕捉。