Log4.net - как войти в 2 разных файла в одном приложении? - PullRequest
1 голос
/ 14 мая 2010

У меня есть веб-приложение, и я хочу войти в разные файлы в зависимости от того, какой веб-сервис вызывается.

Таким образом, WS1 будет регистрироваться, например, в WS1_log.txt, а WS2 - в WS2_log.txt.

Возможно ли это?

Ответы [ 3 ]

3 голосов
/ 14 мая 2010

Да, вы можете сделать это. Создайте два (скользящих) файловых приложения в вашей конфигурации, а затем настройте свои регистраторы следующим образом:

<appender name="FileAppenderWebservice1" type="log4net.Appender.RollingFileAppender">
    <file value="c:\logs\webservice1.txt" />
    ...
</appender>

<appender name="FileAppenderWebservice2" type="log4net.Appender.RollingFileAppender">
    <file value="c:\logs\webservice2.txt" />
    ...
</appender>

<root>
    <level value="ALL" />            
</root>
<logger name="YourNameSpace.Webservice1Class">
    <appender-ref ref="FileAppenderWebservice1" />
</logger>
<logger name="YourNameSpace.Webservice2Class">
    <appender-ref ref="FileAppenderWebservice2" />
</logger>

Для этого необходимо создать регистратор для каждой веб-службы, например:

ILog logger = LogManager.GetLogger(typeof(WebserviceClass));
0 голосов
/ 14 мая 2010

Я думаю, вы можете найти свой ответ здесь Изменить файл журнала

<appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender" >
    <file type="log4net.Util.PatternString" 
        value="%envFolderPath{CommonApplicationData}\\test.txt" />
    ...
</appender>
0 голосов
/ 14 мая 2010

Как насчет размещения конфигурации log4net в файле web.config, наиболее локальном для веб-службы.

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