通过配置转换log4net级别

发布于 2024-11-10 10:41:37 字数 609 浏览 3 评论 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 的值中使用条件逻辑?

We have a legacy logging database that logs two types of occurrences.

  1. Error
  2. 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

℉服软 2024-11-17 10:41:37

您可以编写一个 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文