【发布时间】:2017-02-19 23:52:37
【问题描述】:
有没有人知道是否可以创建某种通用的附加程序设置而不是在每个附加程序中重复设置。例如,我定义了 3 个附加程序:
<appender name="DefaultRollingFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="C:\Logs\MyProduct\General_" />
<appendToFile value="true" />
<rollingStyle value="Date" />
<datePattern value="yyyyMMdd'.log'" />
<staticLogFileName value="false" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date{yyyy-MM-dd HH:mm:ss.ffffff} [%thread] [%username] %-5level [%property{NDC}] - %message%newline" />
</layout>
</appender>
<appender name="DefaultWCFMessagesFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="C:\Logs\MyProduct\Rest_" />
<appendToFile value="true" />
<rollingStyle value="Date" />
<datePattern value="yyyyMMdd'.log'" />
<staticLogFileName value="false" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date{yyyy-MM-dd HH:mm:ss.ffffff} - %message%newline" />
</layout>
</appender>
<appender name="DefaultSqlFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="C:\Logs\MyProduct\Sql_" />
<appendToFile value="true" />
<rollingStyle value="Date" />
<datePattern value="yyyyMMdd'.log'" />
<staticLogFileName value="false" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date{yyyy-MM-dd HH:mm:ss.ffffff} - %message%newline" />
</layout>
</appender>
如您所见,许多设置在 appender 部分中重复出现(例如 appendToFile、rollingStyle、datePattern 等)。
是否有可能以某种方式为 appender 定义在定义时将应用于每个部分的公共设置。类似的东西:
<appenderCommon>
<appendToFile value="true" />
<rollingStyle value="Date" />
<datePattern value="yyyyMMdd'.log'" />
<staticLogFileName value="false" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
</appenderCommon>
<appender name="DefaultRollingFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="C:\Logs\MyProduct\General_" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date{yyyy-MM-dd HH:mm:ss.ffffff} [%thread] [%username] %-5level [%property{NDC}] - %message%newline" />
</layout>
</appender>
<appender name="DefaultWCFMessagesFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="C:\Logs\MyProduct\Rest_" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date{yyyy-MM-dd HH:mm:ss.ffffff} - %message%newline" />
</layout>
</appender>
<appender name="DefaultSqlFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="C:\Logs\MyProduct\Sql_" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date{yyyy-MM-dd HH:mm:ss.ffffff} - %message%newline" />
</layout>
</appender>
我在有关此主题的文档中找不到任何内容。
【问题讨论】:
-
不行,不能这样,log4net配置系统不支持..