Log4net在用户控件中使用不同的日志文件

本文关键字:日志 文件 用户 控件 Log4net | 更新日期: 2023-09-27 18:10:02

我喜欢在我的c#应用程序中使用多个日志文件(使用RollingFileAppender)。

默认日志为"main.log"。

  • 用户可以从用户控件创建新实例,并可以在其中启动某些操作。我想将事件记录到日志文件名"log1.log"
  • 下一个用户控制实例写入"log2.log"等…

如何为这个应用程序配置log4net ?

谢谢。

Log4net在用户控件中使用不同的日志文件

这样的东西会起作用吗?

http://geekswithblogs.net/rgupta/archive/2009/03/03/dynamic-log-filenames-with-log4net.aspx

您将在log4net配置中定义日志文件名,但将名称作为参数。然后为用户的实例设置该参数。

配置的重要部分:

<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
    <file type="log4net.Util.PatternString" value="c:'logs'%property{LogName}" />
    <appendToFile value="true" />
    // the rest of your config

将{LogName}参数修改为如下代码:

log4net.GlobalContext.Properties["LogName"] = "user-xyz.log";