按配置转换log4net级别

时间:2011-05-31 04:58:49

标签: log4net log4net-configuration

我们有一个旧的日志记录数据库,可以记录两种类型的事件。

  1. 错误
  2. 事件
  3. 我们已经将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的值中使用条件逻辑?

1 个答案:

答案 0 :(得分:2)

你可以写一个PatternLayoutConverter来做到这一点。我发布了一个sample,可以很容易地修改,以根据您的要求转换日志级别。