Я нашел причину не использовать глобальный регистратор в объекте App. Он работает нормально, но есть преимущество в том, чтобы получать регистратор из каждого класса, который будет его использовать - это делает мои сообщения журнала короче и легче писать.
Поэтому я вызываю GetLogger () в каждом классе, который будет регистрировать, и указываю имя, которое будет использоваться для регистратора. Например, в моем методе OpenFile я могу получить регистратор, подобный этому:
// Get logger
var logger = LogManager.GetLogger("OpenFile");
Это освобождает меня от необходимости вводить имя класса в каждом сообщении об ошибке, которое я пишу. Я все еще настраиваю log4net в конструкторе App (), так как это нужно сделать только один раз. Это дает мне сообщение журнала, которое выглядит так:
2010-03-29 15:51:41,951 OpenFile [DEBUG]- Data file opened.
Ответ Кента по-прежнему является принятым ответом, но я решил, что передам то, что узнал.