log4net的文件和数据库多个配置

爬行动物

我有需要将日志数据写入文件和数据库的Web API。是否可以配置这样的设置?我试图了解ILoggerRepository,但感到困惑。有人可以给我一些有关如何配置它以及如何在应用程序中使用它的提示吗?

斯科特·罗特利

在我看来,您想同时写入两个不同样式的追加器。

好消息是,它内置在log4Net库中。

您要做的是将配置文件配置为两个不同的附加程序。文件附加器和数据库附加器。

可以在此处找到不同附加程序的示例。http://logging.apache.org/log4net/release/config-examples.html

这是我一起鞭打的web.config的示例。您将不得不对其进行调整,以使其适合您,但它将使您获得正确的开始。

最后一点,您的log4net配置不必在web.config中,但是恕我直言,它只是使事情变得更容易上手。一旦您的web.config开始变得有点混乱,就不必担心将其破坏。

<configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
  </configSections>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
  </startup>

  <log4net>
    <appender name="FileAppender" type="log4net.Appender.FileAppender">
  <file value="log-file.txt" />
  <appendToFile value="true" />
  <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
  </layout>
</appender>

    <appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender">
  <bufferSize value="100" />
  <connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
  <connectionString value="data source=[database server];initial catalog=[database name];integrated security=false;persist security info=True;User ID=[user];Password=[password]" />
  <commandText value="INSERT INTO Log ([Date],[Thread],[Level],[Logger],[Message],[Exception]) VALUES (@log_date, @thread, @log_level, @logger, @message, @exception)" />
  <parameter>
    <parameterName value="@log_date" />
    <dbType value="DateTime" />
    <layout type="log4net.Layout.RawTimeStampLayout" />
  </parameter>
  <parameter>
    <parameterName value="@thread" />
    <dbType value="String" />
    <size value="255" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%thread" />
    </layout>
  </parameter>
  <parameter>
    <parameterName value="@log_level" />
    <dbType value="String" />
    <size value="50" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%level" />
    </layout>
  </parameter>
  <parameter>
    <parameterName value="@logger" />
    <dbType value="String" />
    <size value="255" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%logger" />
    </layout>
  </parameter>
  <parameter>
    <parameterName value="@message" />
    <dbType value="String" />
    <size value="4000" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%message" />
    </layout>
  </parameter>
  <parameter>
    <parameterName value="@exception" />
    <dbType value="String" />
    <size value="2000" />
    <layout type="log4net.Layout.ExceptionLayout" />
  </parameter>
</appender>

    <root>
      <level value="INFO" />
      <appender-ref ref="AdoNetAppender" />
      <appender-ref ref="FileAppender" />
    </root>
  </log4net>
</configuration>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Log4net不登录到数据库

来自分类Dev

log4net写入文件可以,但是无法插入数据库

来自分类Dev

Log4Net 在错误后未登录数据库,它如何登录文件

来自分类Dev

MySQL Appender不在Log4Net中的数据库中插入数据

来自分类Dev

使用log4net登录到Oracle数据库不会立即更新数据库

来自分类Dev

使用log4net登录到Oracle数据库不会立即更新数据库

来自分类Dev

Log4Net在SQL Server数据库中不写入任何内容

来自分类Dev

log4net未将异常记录到数据库,未显示任何错误

来自分类Dev

Log4Net AdoNetAppender-截断表/删除旧记录/限制数据库大小

来自分类Dev

Log4net 无法使用 C# 写入数据库

来自分类Dev

在多个项目中共享log4net配置

来自分类Dev

log4net以编程方式将目标从文本更改为数据库,再更改为事件日志

来自分类Dev

log4net AdoNetAppender在数据库中插入“ Null”字符串而不是null

来自分类Dev

Log4net使用自定义附加程序将自定义对象写入sql数据库?

来自分类Dev

log4net的RollingFileAppender最低配置?

来自分类Dev

无法加载Log4Net配置

来自分类Dev

无法正确配置log4net

来自分类Dev

如何使用log4net配置多个日志记录配置?

来自分类Dev

Log4Net多个Appenders,多个表的配置有问题

来自分类Dev

log4net到类库

来自分类Dev

log4net配置:我可以在多个附加程序中引用相同的布局吗?

来自分类Dev

log4net配置:我可以在多个附加程序中引用相同的布局吗?

来自分类Dev

将Tripwire的配置文件,密钥和数据库放在ext上。媒体?

来自分类Dev

Log4Net写入不同的文件

来自分类Dev

以编程方式配置log4net以写入单独的日志文件

来自分类Dev

Log4Net单独的配置文件不起作用

来自分类Dev

使用Azure Serivce Fabric进行Log4net自定义配置文件部署

来自分类Dev

log4net:在代码中使用PatternString,而不是在配置文件中

来自分类Dev

如何在配置文件中初始化log4net GlobalContext属性

Related 相关文章

  1. 1

    Log4net不登录到数据库

  2. 2

    log4net写入文件可以,但是无法插入数据库

  3. 3

    Log4Net 在错误后未登录数据库,它如何登录文件

  4. 4

    MySQL Appender不在Log4Net中的数据库中插入数据

  5. 5

    使用log4net登录到Oracle数据库不会立即更新数据库

  6. 6

    使用log4net登录到Oracle数据库不会立即更新数据库

  7. 7

    Log4Net在SQL Server数据库中不写入任何内容

  8. 8

    log4net未将异常记录到数据库,未显示任何错误

  9. 9

    Log4Net AdoNetAppender-截断表/删除旧记录/限制数据库大小

  10. 10

    Log4net 无法使用 C# 写入数据库

  11. 11

    在多个项目中共享log4net配置

  12. 12

    log4net以编程方式将目标从文本更改为数据库,再更改为事件日志

  13. 13

    log4net AdoNetAppender在数据库中插入“ Null”字符串而不是null

  14. 14

    Log4net使用自定义附加程序将自定义对象写入sql数据库?

  15. 15

    log4net的RollingFileAppender最低配置?

  16. 16

    无法加载Log4Net配置

  17. 17

    无法正确配置log4net

  18. 18

    如何使用log4net配置多个日志记录配置?

  19. 19

    Log4Net多个Appenders,多个表的配置有问题

  20. 20

    log4net到类库

  21. 21

    log4net配置:我可以在多个附加程序中引用相同的布局吗?

  22. 22

    log4net配置:我可以在多个附加程序中引用相同的布局吗?

  23. 23

    将Tripwire的配置文件,密钥和数据库放在ext上。媒体?

  24. 24

    Log4Net写入不同的文件

  25. 25

    以编程方式配置log4net以写入单独的日志文件

  26. 26

    Log4Net单独的配置文件不起作用

  27. 27

    使用Azure Serivce Fabric进行Log4net自定义配置文件部署

  28. 28

    log4net:在代码中使用PatternString,而不是在配置文件中

  29. 29

    如何在配置文件中初始化log4net GlobalContext属性

热门标签

归档