我们有一个旧的日志记录数据库,它记录两种类型的事件 .
-
错误
-
事件
我们已经将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 回答
你可以写一个
PatternLayoutConverter
这样做 . 我发布了一个sample,可以很容易地修改,根据您的要求转换日志级别 .