У меня есть решение C #, которое содержит три исполняемых файла. У меня есть каждый из этих трех исполняемых файлов в одном файле конфигурации log4net. При запуске каждого из исполняемых файлов они извлекают регистратор (по одному регистратору на исполняемый файл, как описано ниже в файле конфигурации). Когда один из исполняемых файлов выполняет Log.GetLogger (), он создает все скользящие файлы вместо одного прокручиваемого файла, который называется appender-ref в конфигурации регистратора исполняемого файла.
Например, когда я запускаю исполняемый файл отправляющего демона, он выполняет Log.GetLogger («SendingDaemonLogger»), который создает 3 файла Log / RuleScheduler.txt, Log / NotificationGenerator.txt и Log / NotificationSender.txt вместо только требуемого Вход / NotificationSender.txt.
Затем, когда я запускаю другой исполняемый файл, например, демон планировщика правил, этот другой процесс не может записать в Log / RuleScheduler.txt, потому что он был создан и заблокирован отправляющим процессом демона.
Я предполагаю, что может быть три разных решения моей проблемы:
GetLogger должен создавать только обновляемые добавочные файлы, на которые есть ссылки в конфигурации
У меня должен быть один файл конфигурации для каждого исполняемого файла, таким образом, каждый файл конфигурации может содержать список только одного добавляемого файла, и запуск каждого из исполняемых файлов не будет создавать скользящие файлы других демонов. Однако я не хочу этого делать, потому что некоторые настройки (приложение SMTP, приложение консоли) совместно используются демонами, и я не хочу иметь дубликаты для обслуживания. Разве есть способ иметь конфигурационный файл, в том числе и другой?
Может быть, есть способ настроить скользящий файл, чтобы разрешить одновременный доступ между процессами? На мой взгляд, это решение все еще не идеально, потому что ни один из демонов не должен создавать переходящие файлы некоторых других демонов.
Заранее спасибо за помощь!
У меня проблемы с размещением файла конфигурации здесь (этот сайт интерпретируется как HTML). Пожалуйста, перейдите по следующей ссылке, чтобы увидеть мой файл конфигурации log4net:
файл конфигурации log4Net