用户控件中的log4net具有不同的日志文件

时间:2014-06-24 14:54:25

标签: c# log4net

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

默认日志为" main.log"。

  • 用户可以从用户控件创建新实例,并可以在此处启动。我想将事件记录到Log filename" log1.log"
  • 下一个用户控件实例写入" log2.log"等......

如何为此应用程序配置log4net?

感谢。

1 个答案:

答案 0 :(得分:0)

这样的事情会起作用吗?

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";