0

我们有一个遗留的日志数据库,它记录了两种类型的事件。

  1. 错误
  2. 事件

我们已经将 log4net 改装到应用程序中,并且我们正在使用 AdoNetAppender 来登录到这个遗留数据库。用于记录事件的存储过程采用一个带有一个名为 @TypeID 的参数的存储过程 目前我们已经像这样配置了该参数:

  <parameter>
    <parameterName value="@TypeID" />
    <dbType value="Int32" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="2" />
    </layout>
  </parameter>

这会将所有事件记录为事件(类型 2),而不管事件级别(错误或其他)。如何更改配置,以便所有出现的 log4net ERROR 或更高版本都将 @TypeID 参数设置为 1?

换一种方式问:

是否可以在conversionPattern 的值中使用条件逻辑?

4

1 回答 1

2

你可以写一个PatternLayoutConverter这样做的。我发布了一个示例,可以轻松修改它以根据您的要求转换日志级别。

于 2011-05-31T08:18:43.763 回答