I'm developing a log tha needs save all requests to a db. i created a custom filter and registered it, but it won't be calling when i request the controller.
here is the LogFilter.cs
 public class LogFilter : System.Web.Http.Filters.FilterAttribute, IFilter
{
    public void OnActionExecuting(ActionExecutedContext filterContext)
    {
        try
        {
            string entity = "";
            using (StreamReader sr = new StreamReader(filterContext.HttpContext.Request.InputStream))
            {
                entity = sr.ReadToEnd();
            }
            logModel.RequestLog rl = new logModel.RequestLog();
            rl.IP = filterContext.HttpContext.Request.UserHostAddress;
            rl.Type = filterContext.Controller.ControllerContext.RouteData.Values["controller"].ToString().ToUpper();
            rl.URL = filterContext.HttpContext.Request.Url.OriginalString;
            rl.Operation = filterContext.HttpContext.Request.HttpMethod;
            rl.RequestDate = DateTime.Now;
            if (!string.IsNullOrEmpty(entity))
                rl.Entity = entity;
            filterContext.HttpContext.Request.Cookies.Add(new HttpCookie("reqID", new deviceLog.RequestLog().Add(rl).ID.ToString()));
        }
        catch { }
    }
Global.asax
 protected void Application_Start()
    {
        GlobalConfiguration.Configure(WebApiConfig.Register);
        WebApiConfig.RegisterGlobalFilters(GlobalConfiguration.Configuration.Filters);
    }
WebApiConfig.cs
 public static void Register(HttpConfiguration config)
    {
        config.Routes.MapHttpRoute(
            name: DEFAULT_API_NAME,
            routeTemplate: DEFAULT_API_ROUTE,
            defaults: new
            {
                parameter1st = RouteParameter.Optional,
                parameter2nd = RouteParameter.Optional,
                parameter3rd = RouteParameter.Optional
            }
        );
        // remove support for xml
        config.Formatters.Remove(config.Formatters.XmlFormatter);
        // force json indentation
        config.Formatters.JsonFormatter.Indent = true;
    }
    public static void RegisterGlobalFilters(System.Web.Http.Filters.HttpFilterCollection filters)
    {
        filters.Add(new LogFilter());
    }