C# Common.Logging-更多Ilog实例

C# Common.Logging-更多Ilog实例,c#,log4net,common.logging,C#,Log4net,Common.logging,我正在开发一个Windows服务。我使用commong.logging和log4net。 我已经正确配置了app.config,并且正在将应用程序事件和异常记录到日志文件中。 现在我有了新的要求。每个客户在其客户目录中都需要自己的日志文件。我还想使用一个全局日志文件,就像我现在做的那样 如何设置此配置? 我想我需要在app.config中进行全局日志记录配置(正如我现在所拥有的),ILog实例应该是customer类的成员,我需要通过代码进行设置?您需要知道如何对特定客户进行筛选。一种方法是在线

我正在开发一个Windows服务。我使用commong.logging和log4net。 我已经正确配置了app.config,并且正在将应用程序事件和异常记录到日志文件中。 现在我有了新的要求。每个客户在其客户目录中都需要自己的日志文件。我还想使用一个全局日志文件,就像我现在做的那样

如何设置此配置?
我想我需要在app.config中进行全局日志记录配置(正如我现在所拥有的),ILog实例应该是customer类的成员,我需要通过代码进行设置?

您需要知道如何对特定客户进行筛选。一种方法是在线程上设置属性customer,然后在特定客户(log4net.filter.PropertyFilter)的附加器中进行筛选。假设所有客户代码都在一个服务中运行。

是否可以筛选管理客户日志是否位于客户目录中,应用程序日志是否位于logs/log.txt文件中?是的,假设可以设置客户正在运行的属性。为每个客户添加一个appender,并仅筛选该客户的邮件。如果没有设置属性,您可以登录常规应用程序日志。客户数量还不知道(大约500个),我认为不可能为每个客户更改app.config。我的第一个意见是让ILog实例用于applocation日志记录,而customer类的每个实例都将有一个ILog成员用于客户日志记录,您认为可以这样配置它吗<代码>AppLog.Debug(“创建cust1”);var cust1=新客户();cust1.Log.Debug(“cust1 logstart”)