C# 对于一般的日志记录来说是新的,但是我应该在MVC3应用程序中登录什么呢?
我对日志记录真的是个新手,我决定从现在开始,是时候冒险将它应用到我的应用程序中了 我将使用NLog,因为我听说它的设置非常快速和简单 我应该关注哪些类型的日志信息?哪些信息应该被认为是多余和不必要的C# 对于一般的日志记录来说是新的,但是我应该在MVC3应用程序中登录什么呢?,c#,.net,asp.net-mvc-3,logging,nlog,C#,.net,Asp.net Mvc 3,Logging,Nlog,我对日志记录真的是个新手,我决定从现在开始,是时候冒险将它应用到我的应用程序中了 我将使用NLog,因为我听说它的设置非常快速和简单 我应该关注哪些类型的日志信息?哪些信息应该被认为是多余和不必要的 在更具体的一行,我应该把我的\u logger.Info(“Foo”)放在哪里呼叫?在我的控制器中的每个ActionMethod中?日志记录的重要性无法用一两句话来解释 日志记录是应用程序支持二级和三级团队调查的重要组成部分。他们需要日志来响应所发生的事情、bug等等 由于日志记录是任何应用程序的非
在更具体的一行,我应该把我的
\u logger.Info(“Foo”)放在哪里代码>呼叫?在我的控制器中的每个ActionMethod中?日志记录的重要性无法用一两句话来解释
日志记录是应用程序支持二级和三级团队调查的重要组成部分。他们需要日志来响应所发生的事情、bug等等
由于日志记录是任何应用程序的非功能性关注点,它是面向方面编程的一个交叉关注点,Java开发部门使用了许多aop框架,如aspectJ,与成熟的日志记录者一起实现日志记录。您应该看看ELMAH
使用nuget进行设置是最简单的。它还为asp.net MVC提供了非常棒的日志记录(记录所有异常和与之相关的请求),您所要做的所有工作就是在应用程序中安装该软件包。:)
为登录.net提供了很好的工具我们使用log4net和ELMAH。ELMAH用于任何顶级或未处理的对象
我们记录(log4net)每个方法。我们编写了一个宏来注入日志输入/输出代码(尽管有一个产品将在编译代码中注入此工具)
对于其他步骤,我们注销调试信息(加载记录id 15)log.debug(…)
其他时间使用log.info(..)信息“处理客户JOHN”
当我们发现异常时,我们
log.Error()
然后我们部署我们的应用程序,并在第一时间将日志级别设置为debug,然后在其顺利运行后切换到“info”
这提供了相当多的细节,但这取决于你决定在哪里。我只是说,我们几乎在每个方法中记录细节
还请记住,当您捕获异常并记录它们时,现在请重新显示它们
throw ex;
掷骰子;
就这么简单
throw;
投掷;
log4net可在此处找到:
一个nuget软件包可在以下位置进行自动配置:
ELMAH也可通过nuget进行自动配置,不过使用MVC还需要执行其他步骤。请查看:
不完全-mvc需要更多的时间才能正确捕获所有内容。我同意,但对于刚开始的人来说,这会提供大量的日志记录。显然,他应该开始处理自己的错误并将其正确记录下来,作为下一步。不要因为我这样做而抛出ex
。我只想补充一下你不应该抛出ex.Word的原因。:)总是很惊讶有多少人仍然犯这个错误