Я пытаюсь очистить конфигурацию протоколирования, которую в настоящее время использует одно из наших приложений для ее реализации log4net. Приложение вызывается с аргументом, содержащим путь к файлу XML. Этот XML-файл включает в себя различные сведения о конфигурации, одним из которых является имя регистратора.loglognet имя регистратора в appender
В настоящее время каждый файл конфигурации имеет свой собственный регистратор, и каждый регистратор имеет свои собственные приложения. В качестве примера мы имеем:
- регистратор job1
- регистратор job2
- регистратор job3
и
- Appender consoleJob1
- Appender consoleJob2
- Appen дер consoleJob3
- Appender rollingFileJob1
- Appender rollingFileJob2
- Appender rollingFileJob3
- Appender smtpJob1
- Appender smtpJob2
- Appender smtpJob3
Даже если каждый из этих appenders имеют почти идентичные конфигурации. С сотнями конфигурационных файлов этот раздел конфигурации ведения журнала app.config довольно велик. Я считаю, что я могу объединить большинство из них только с несколькими родовыми добавками (Console, rollFile, smtpToIT, smptpToSupport и т. Д.) И изменить каждый регистратор на использование общих приложений.
Огромный блокпост к тому, как я визуализирую эту работу, заключается в том, что каждый appender должен будет использовать имя регистратора в конфигурации где-нибудь. Есть ли переменная или параметр, который я могу использовать в приложении, который позволит приложению использовать имя регистратора? Например, RollingFileAppender должен войти в '\ log [loggername] .txt' У smtpAppender должен быть объект «Log for [loggername] на MM \ DD \ YYYY».
Я взглянул на http://logging.apache.org/log4net/release/config-examples.html и считаю, что понимаю, как можно добавить дату, но я ничего не вижу о доступе к имени регистратора из приложения.
Есть ли какой-либо доступ к ресурсу регистратора, используемого в приложении? Кроме того, я понимаю, как настроить log4net, с добавлением переходов между несколькими регистраторами? Я не слышал о log4net до тех пор, пока несколько недель назад, так что, возможно, я ошибаюсь.
это может сыграть трюки с вами в многопоточном приложении, хотя, если идентификатор не изменяется слишком часто, это может сделать трюк , – Newtopian
Согласны, в наших обстоятельствах это работает отлично, потому что каждое задание создает новый экземпляр приложения. Это основное приложение, которое принимает XML-файл в качестве ввода, XML-файл структурирован в шагах, и каждый шаг содержит информацию о конкретном действии. Таким образом, одно задание может состоять в том, чтобы взять файл с FTP-сервера x, шаг 2 расшифровать его, шаг 3 разобрать его в БД, шаг 4 запустить хранимую процедуру, шаг 5 создать плоский файл из запроса, шаг 6 зашифровать файл, шаг 7 отправьте новый файл на другой ftp-сайт. Каждая работа имеет свой собственный экземпляр приложения, поэтому никаких проблем с потоком. –