如何配置Elmah和/或Nlog来捕获所有错误

时间:2016-06-30 02:06:02

标签: c# asp.net-web-api2 nlog elmah

在我的代码中似乎Elmah和Nlog没有记录我的所有Web API错误。以下是所有C#Web API开发人员都知道的示例:

    [Authorize]
    public class ValuesController : ApiController
    {
        // GET api/values
        public IEnumerable<string> Get()
        {
            return new string[] { "value1", "value2" };
        }

        // GET api/values/5
        public string Get(int id)
        {
            return "value";
        }

        // POST api/values
        public void Post([FromBody]string value)
        {
        }

        // PUT api/values/5
        public void Put(int id, [FromBody]string value)
        {
        }

        // DELETE api/values/5
        public void Delete(int id)
        {
        }
    }

当我访问浏览器并获取http://localhost:55328/api/Values/5时 我收到此消息:

<Error>
<Message>Authorization has been denied for this request.</Message>
</Error>

很好但是当我去http://localhost:55328/elmah.axd时 Elmah不记录此错误。我也不知道如何用NLog强制日志。是的,当错误发生在方法体内时,Elmah和NLog正常工作。

0 个答案:

没有答案