Налаштування додатка Log4Net в іншому файлі, ніж основний конфігураційний файл

Я хочу розмістити розділ додатка в іншому файлі, ніж мій основний файл конфігурації log4net.

Мета полягає в тому, щоб дозволити мені опублікувати мою програму за допомогою журналу log4net.config, але не стирати певну інформацію про клієнтів, як-от параметри smtp.

Ідея полягає в тому, щоб мати:

      
    
    
    
  

 

log4netsmtp.config побудований клієнтами з міркувань безпеки (з моєю допомогою), і ніколи не змінюється мною.

Вибачте за мою англійську мову та дякую, що ви читаєте мене.

З повагою

1

1 Відповіді

Ви можете завантажити його за допомогою GetManifestResourceStream Assembly, щоб отримати ваш файл і розглядати його як xml, а потім ініціювати ваш логер, ви можете використовувати клас log4net.config.XmlConfigurator і передати йому екземпляр XmlElement або додати XmlElement до існуючої конфігурації XML-файлу log4net :

Assembly a = Assembly.GetAssembly(this.GetType());
Stream stream = a.GetManifestResourceStream("MyAssembly.ConfigFolder.logger.config");
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(stream);
// eventually append, modify, merge, check the xml with other info
XmlConfigurator.Configure(xmlDoc);
1
додано