Я использую 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