我的解决方案中有一个项目,该项目使用Hangfire运行多个不同的后台作业。我希望能够基于正在运行的后台作业指定使用Log4Net创建的其他日志文件。
例如; 作业1对数据库进行验证检查,作业2将来自第三方应用程序的数据同步到另一个数据库中
我在配置文件中指定了多个追加程序,但是在运行作业1或作业2时会创建所有日志文件。我希望每个作业仅创建一个日志文件,例如当我运行Job 1时,日志文件job1.xml被创建,而不是job2.xml,反之亦然
有什么方法可以只指定附加程序吗?在下面的示例中,我只希望创建文件c:\ logging \ testing \ jobs3-%date {ddMMMyyyy-hhmmss} .xml
XmlConfigurator.Configure();
log4net.ILog log = log4net.LogManager.GetLogger("xmlFile2");
=====配置文件========
<appender name="file" type="log4net.Appender.RollingFileAppender">
<file value="c:\logging\job1.log" />
<appendToFile value="true" />
<rollingStyle value="Once" />
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date - [%M] %level %logger - %message%newline" />
</layout>
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
</appender>
<appender name="xmlFile" type="log4net.Appender.FileAppender">
<file type="log4net.Util.PatternString" value="c:\logging\testing\job2-%date{ddMMMyyyy-hhmmss}.xml" />
<appendToFile value="true" />
<layout type="log4net.Layout.XmlLayoutSchemaLog4j">
<locationInfo value="true" />
</layout>
<param name="Encoding" value="utf-8" />
</appender>
<appender name="xmlFile2" type="log4net.Appender.FileAppender">
<file type="log4net.Util.PatternString" value="c:\logging\testing\jobs3-%date{ddMMMyyyy-hhmmss}.xml" />
<appendToFile value="true" />
<layout type="log4net.Layout.XmlLayoutSchemaLog4j">
<locationInfo value="true" />
</layout>
<param name="Encoding" value="utf-8" />
</appender>
</log4net>