Pet*_*son 3 c# asp.net-mvc logging try-catch
我有一个 MVC 应用程序,我在其中使用 Try-Catch 块,我正在寻找一种简单的方法来实现基于全局布尔字段的活动/错误记录。有谁知道我可以“扩展”Try-Catch 代码的功能以添加我自己的活动/错误日志的方法,而不必经过并触摸每个块?
例如:
我想要尝试将某些项目自动记录到我的数据库中,例如 url、动作、id、参数、IP 信息等,...而 Catch 将它的异常自动记录到数据库中的另一个表中。
想法?推荐?
谢谢,彼得
创建您的自定义操作过滤器并用它装饰控制器或操作方法。
http://msdn.microsoft.com/en-us/library/dd381609.aspx
public class LoggingFilterAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
filterContext.HttpContext.Trace.Write("(Logging Filter)Action Executing: " +
filterContext.ActionDescriptor.ActionName);
base.OnActionExecuting(filterContext);
}
public override void OnActionExecuted(ActionExecutedContext filterContext)
{
if (filterContext.Exception != null)
filterContext.HttpContext.Trace.Write("(Logging Filter)Exception thrown");
base.OnActionExecuted(filterContext);
}
}
Run Code Online (Sandbox Code Playgroud)
然后使用它
public class HomeController : Controller
{
[LoggingFilter]
public ActionResult Index()
{//...}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1015 次 |
| 最近记录: |