一种基于错误类型为elmah提供不同LogPath的方法

时间:2017-06-17 16:47:30

标签: c# asp.net-web-api elmah

我正在寻找一种方法,在我的web api项目中为不同的错误类型设置不同的日志路径。我想要的是将System.Web.HttpException错误放在不同的文件夹中,将我的其他错误放在另一个文件夹中。原因是,我收到了很多System.Web.HttpException错误,其中大多数都是无关紧要的,但我仍然需要将它们记录在不同的文件夹中。我的elmah设置是标准设置。

这是我的网络配置代码:

<errorLog type="Elmah.XmlFileErrorLog, Elmah" logPath="~/App_Data/ErrorLog" />
<security allowRemoteAccess="false" />
</elmah>

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

简短的回答:你做不到。 XmlFileErrorLog仅支持单个目录logPath

如果要实现此功能,则需要分叉ELMAH源代码并覆盖XmlFileErrorLogLog方法。

另一种方法可能是使用ELMAH error filtering忽略所有System.Web.HttpException错误,然后使用另一个日志记录框架来记录这些错误。如果您设置了log4net,NLog,Serilog或类似的东西,您可以使该集成日志记录所有错误(包括HTTP异常)。