Как переключить log4net несколько файлов журнала с помощью кода C #? - PullRequest
2 голосов
/ 14 декабря 2011

Я использую log4net, я хотел бы иметь 2 журнала,
- BasketballCustomer.log, для всех Клиентов, играющих в баскетбол;
- ChessCustomer.log, для всех Клиентов, играющих в Шахматы.
в то время как для каждого клиента, играет ли он / она в баскетбол или шахматы, известно только до времени выполнения.

Я хотел бы настроить каждый журнал отдельно, об имени файла журнала, размере, количестве, уровне журнала и т. д..

Кроме того, я бы предпочел, чтобы такая настройка выполнялась кодом C #, а не файлом конфигурации.

Как я мог это сделать?

Я пробовал поиск в сети, тамнекоторые статьи, но ни одна из них не соответствует моим требованиям
- Log4Net и несколько файлов журнала говорили о нескольких файлах журнала, но он не переключается во время выполнения;
- Настройка Log4net для записи в несколькофайлы похожи, но это делается в конфигурационном файле ....

Пожалуйста, предложите, большое спасибо!

1 Ответ

2 голосов
/ 14 декабря 2011

Вы можете сделать это, используя переменную окружения в log4net.config, а затем установить значение переменной окружения с помощью кода C #

Так что где-нибудь в вашем классе C # сделайте что-то вроде:

Environment.SetEnvironmentVariable("log_file_name", "MyLogFileName");

А затем в используемом log4net.config укажите значение для имени переменной среды.Синтаксис будет выглядеть примерно так:

<param name="File" value="${log_file_name}".log/>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...