通过配置转换log4net级别
我们有一个遗留日志数据库,可以记录两种类型的事件。
- 错误
- 事件
我们已将 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 的值中使用条件逻辑?
We have a legacy logging database that logs two types of occurrences.
- Error
- Event
We've retrofitted log4net to the application, and we're using an AdoNetAppender to log to this legacy database. The stored procedure used to log occurrences takes a stored procedure with one parameter called @TypeID
Currently we've configured that parameter like this:
<parameter>
<parameterName value="@TypeID" />
<dbType value="Int32" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="2" />
</layout>
</parameter>
This logs all occurrences as events (Type 2), regardless of the event level (error or otherwise).
How can I change the configuration so that all occurrences of log4net ERROR or higher would set the @TypeID parameter to 1?
Asked another way:
Is it possible to use conditional logic in the value of conversionPattern?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以编写一个
PatternLayoutConverter
来执行此操作。我发布了 示例,可以轻松修改以根据您的要求转换日志级别。You can write a
PatternLayoutConverter
that does this. I posted a sample which could be easily modified to convert the log levels according to your requirements.