Избегайте печати имени регистратора в log4net - PullRequest
0 голосов
/ 23 января 2019

Я использую log4net в приложении UWP.

мой файл конфигурации выглядит следующим образом:

<?xml version="1.0" encoding="utf-8" ?>
<log4net debug="false">
    <appender name="Console" type="log4net.Appender.DebugAppender">
        <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date - %message%newline" />
        </layout>
    </appender>

    <appender name="LocalStorageFile" type="MyProject.LocalStorageFileAppender, MyProject">
        <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date - %message%newline" />
        </layout>
    </appender>

    <root>
        <level value="INFO" />
        <appender-ref ref="Console" />
        <appender-ref ref="LocalStorageFile" />
    </root>
</log4net>

Поскольку это приложение UWP, мне нужно вручную загрузить файл XML следующим способом:

private static async Task ConfigureLog4Net()
{
    // config for log4net:
    Uri uri = new Uri("ms-appx:///log4netConfig.xml");
    StorageFile sampleFile = await StorageFile.GetFileFromApplicationUriAsync(uri);
    var logRepository = LogManager.GetRepository(Assembly.GetEntryAssembly());
    using (Stream s = await sampleFile.OpenStreamForReadAsync())
    {
        log4net.Config.XmlConfigurator.Configure(logRepository, s);
    }
    Logger log = new Logger(typeof(AppConfigReader));
    log.InfoFormat("Log is configured");
}

Однако в моем журнале всегда есть полное имя логгера, как в следующем примере:

MyCorp.Controls.MyView:2019-01-23 10:38:32,434 - log test here

Как мне настроить log4net, чтобы вместо этого видеть журнал (без имени регистратора):

2019-01-23 10:38:32,434 - log test here
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...