Я хотел бы иметь конкретное приложение для одного определенного класса домена. Когда другие классы записывают что-то, он не должен регистрироваться с этим конкретным приложением.Определенный класс log4net должен использовать appender
Например, журналы из следующего класса должны использовать «OperationalLogFile». И все остальное не должно использовать этот appender.
public class OperationalLogFileAppender
{
private readonly ILog _log = LogManager.GetLogger("OperationalLogFile");
public void AppendServiceStartup()
{
var text = ..;
_log.Info(text);
}
}
Мой log4net конфигурационный раздел выглядит так
log4net>
<root>
<level value="DEBUG" />
<appender-ref ref="OtherAppender" />
<appender-ref ref="OperationalLogFile" />
</root>
<appender name="OperationalLogFile" type="log4net.Appender.RollingFileAppender">
<file value="OperationalLogFileName" />
<appendToFile value="true"/>
<countDirection value="-1"/>
<rollingStyle value="Date" />
<datePattern value="ddMMyyyy'.log'" />
<maxSizeRollBackups value="0" />
<maximumFileSize value="10000KB" />
<staticLogFileName value="false" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%message" />
</layout>
<filter type="log4net.Filter.LoggerMatchFilter">
<loggerToMatch value="MyNameSpace.OperationalLogFileAppender" />
</filter>
</appender>
<logger name="MyNameSpace.OperationalLogFileAppender">
<level value="INFO"/>
<appender-ref ref="OperationalLogFile"/>
</logger>
Но corrently все я войти мое приложение показывает вверх в operationalog файле, но я хотел бы, что только вещи, что Журналы OperationalLogFileAppender должны отображаться в файле рабочего журнала.