У меня возникла странная проблема. У меня есть несколько проектов в решении. Один из них - это WebAPI, и он отлично работает. Другой - это админ-сайт MVC, который не регистрируется. Вот что я пробовал.Отдельный файл конфигурации Log4Net не работает
Мой код регистрации:
var log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
log.Info("Some log message");
В AssemblyInfo я попробовал каждый из следующих ...
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "logging.config", Watch = true)]
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "C:\\full_path\\logging.config", Watch = true)]
В Application_Start Global.asax я пробовал следующее (удаление AssemblyInfo линии)
log4net.Config.XmlConfigurator.ConfigureAndWatch(new FileInfo("Logging.config"));
var log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
log.Info("Application starting");
Это также не создает журнал. Единственный способ получить один из них - использовать код в global.asax и полный путь к logging.config.
Я смущен, так как webapi работает только с assemblyInfo только с относительным путем. Я также сделал образец фиктивного решения с проектом MVC с решением AssemblyInfo (относительный путь), и он тоже работал там.
Любые идеи?
ОБНОВЛЕНИЕ - НАЙДЕНО ВЫПУСКА
Я должен был настроить конфигурационный файл Бодрствующего в Application_Start:
log4net.Config.XmlConfigurator.ConfigureAndWatch(new System.IO.FileInfo(AppDomain.CurrentDomain.BaseDirectory + "logging.config"));
Оказывается, что DotNetOpenAuth.Core.dll использует log4net и сделает с использованием раствора AssemblyInfo не Работа. Я нашел деталь в этом блоге: http://hanskindberg.wordpress.com/2013/04/07/log4net-configuration/
Thanks
Есть ли проблемы с разрешением (запуск под IIS и попытки записи в файл могут возникнуть проблемы)? Вы пробовали [отладки] (http://stackoverflow.com/q/677640/724591)? Вы пробовали использовать полный путь в примере кода приложения_старта? У вашей конфигурации есть корневой элемент или совпадает с тем, что распечатывает 'DeclaryingType'? – matth
Проблема с разрешением: я так не думаю, поскольку ее запуск в global.asax работает с полным путем. – BCarlson
Отладка: в VS2012 он просто выполняется без ошибок при входе в систему. Log4Net отладки, я не смог заставить его ничего записывать.Смешно, что одна и та же конфигурация работает или не работает, основываясь на относительном/полном пути и глобальном vs assemblyInfo. – BCarlson