using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using log4net; using System.Diagnostics; using System.Web.Routing; namespace Sleis.Filter { public class AppAuditFilter : ActionFilterAttribute { private static readonly ILog _log = LogManager.GetLogger(typeof(ExceptionLoggingFilter)); public override void OnActionExecuting(ActionExecutingContext filterContext) { Log("OnActionExecuting", filterContext.RouteData); } public override void OnActionExecuted(ActionExecutedContext filterContext) { Log("OnActionExecuted", filterContext.RouteData); } public override void OnResultExecuting(ResultExecutingContext filterContext) { Log("OnResultExecuting", filterContext.RouteData); } public override void OnResultExecuted(ResultExecutedContext filterContext) { Log("OnResultExecuted", filterContext.RouteData); } private void Log(string methodName, RouteData routeData) { var controllerName = routeData.Values["controller"]; var actionName = routeData.Values["action"]; _log.DebugFormat("{0} {1}/{2}", methodName, controllerName, actionName); } } }