2016-10-11 10 views
4

Кто-нибудь есть идеи, если можно создать какие-то общие настройки appender вместо повторения настроек в каждом приложении. Например, у меня есть 3 appenders определены:log4net общие настройки appender

<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 и т.д.).

Возможно ли каким-либо образом определить общие настройки для приложения, которые будут применяться к каждому разделу при определении. Что-то в строках:

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

В этой документации я не могу найти что-либо в документации.

+0

Нет, вы не можете этого сделать, система конфигурации log4net не поддерживает его. – stuartd

ответ

0

Вы не можете найти документацию по этому вопросу, потому что она не поддерживается log4net. Вы можете создать свой собственный инструмент или использовать код для настройки.