如何为 Asp.NET MVC 应用程序设置 log4net
我们有第一个 MVC 应用程序,我想知道那里有什么特殊的考虑因素。在常规的 Web 表单应用程序中,我们几乎只是使用 try catch 块将事件包装在页面后面的代码上。但就助手、控制器、路由等而言,mvc 似乎不太清楚。我应该在哪里确保有日志记录。
We have a fist MVC application and I am wandering what special considerations there. In the regular web forms applications we pretty much just wrap events on code behind pages with try catch blocks. But it seems less clear with mvc as far as helpers, controllers, routes, etc. Where should I make sure there is logging.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
通常,您会在控制器操作中应用日志记录。您还可以从 HandleError 属性派生来添加错误日志记录,以及创建自定义操作/结果过滤器以自动执行某些类型的日志记录。使用这样的过滤器,您可以将其应用到基本控制器,并对所有操作进行一些基本的使用日志记录/检测。
如果您使用控制器工厂、操作调用程序或模型绑定器自定义框架,您也可以在那里应用日志记录。当然,这与如何将日志记录应用到实际模型(域对象、外部服务、持久性和数据库、安全性等)无关。
Typically you would apply logging in your controller actions. You can also derive from the HandleError attribute to add error logging, as well as create custom action/result filters to automate certain types of logging. With such a filter, you can apply this to your base controller and have some basic usage logging/instrumentation for all actions.
If you customize the framework with controller factories, action invokers, or model binders, you might apply logging there as well. Of course, this is nothing to say of how to apply logging to your actual Model (domain objects, external services, persistence and database, security etc).
在您的 Global.asax.cs 文件中:
In your Global.asax.cs file: