C# 一种基于错误类型为elmah提供不同日志路径的方法

C# 一种基于错误类型为elmah提供不同日志路径的方法,c#,asp.net-web-api,elmah,C#,Asp.net Web Api,Elmah,我正在寻找一种方法,在我的WebAPI项目中为不同的错误类型提供不同的日志路径。我想要的是将System.Web.HttpException错误放在不同的文件夹中,将我的其他错误放在另一个文件夹中。原因是,我收到了太多System.Web.HttpException错误,其中大多数错误都是无关的,但我仍然需要将它们记录在不同的文件夹中。我的elmah设置是标准设置 这是我的web配置标记: <errorLog type="Elmah.XmlFileErrorLog, Elmah" logP

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

这是我的web配置标记:

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

非常感谢您的帮助。

简短的回答是:您不能。XmlFileErrorLog仅支持单个目录作为日志路径

如果您想要实现这一点,则需要派生ELMAH源代码并重写的Log方法

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