Я новичок в log4net, и я пытаюсь сохранить какой-то устаревший код, который его использует. Я заметил, что наличие двух статических классов, которые сообщают log4net о необходимости входа в разные места, отключаются друг от друга
Каждый из классов имеет статический конструктор, который выглядит следующим образом
static Logger() {
_Logger = new X.LoggingService.AppLogger(
X.UtilityServer.Configuration.ConfigInfo.LoggerConfigFile);
}
кроме как с другими значениями конфигурации; оба этих статических класса инициализируют один и тот же вспомогательный класс AppLogger
. Второй класс для инициализации перезаписывает инициализацию первого. Я думаю, что отследил проблему здесь:
private ILog Log {
get {
if (!_ConfiguratorSet) {
_ConfiguratorSet = true;
XmlConfigurator.Configure(new FileInfo(_ConfigFile)); //<--- STATIC
}
return _log;
}
}
Поскольку я абсолютно не обязан поддерживать безопасность потоков , я должен просто удалить оператор if? Будет ли звонить XmlConfigurator.Configure
каждый раз, когда мне нужно что-то регистрировать, слишком дорого? Есть ли способ лучше? Этот код был написан с использованием log4net версии 1.2.10