[log4net]
От: Аноним  
Дата: 10.11.09 10:48
Оценка:
Есть приведённый ниже конфиг для log4net. Нужно что бы лог писался в файлы по дням:
p1.log.2009-11-08
p1.log.2009-11-09
p1.log.2009-11-10
...

Есть несколько экземпляров программы, на нескольких компьютерах, их логи должны писать ся в эти файлы.
Получается, что по дням файлы делятся ("2009-11-10" — добаляется), но они ещё както неявно делятся по порльзователям. Получается набор файлов на один день, в каждый из которых записаны логи от своего экземпляра программы:

p1.log.2009-11-10 — Логи пользователя 1
p1.log.2009-11-10.2009-11-10 — Логи пользователя 2
...
p1.log.2009-11-10.2009-11-10.2009-11-10.2009-11-10.2009-11-10.2009-11-10.2009-11-10.2009-11-10.2009-11-10.2009-11-10 — Логи пользователя N

Как исправить?

<log4net>
    <appender name="RollingLogFileAppender2" type="log4net.Appender.RollingFileAppender">
      <file type="log4net.Util.PatternString" value="\\server\p1\p1.log" />
      <appendToFile value="true"/>
      <rollingStyle value="Date"/>
      <staticLogFileName value="false"/>
      <datePattern value=".yyyy-MM-dd"/>
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="[%date{HH:mm:ss}] %message%newline"/>
      </layout>

      <filter type="log4net.Filter.LevelMatchFilter">
        <levelToMatch value="DEBUG"/>
        <acceptOnMatch value="true"/>
      </filter>
      <filter type="log4net.Filter.LevelMatchFilter">
        <levelToMatch value="WARN"/>
        <acceptOnMatch value="true"/>
      </filter>
      <filter type="log4net.Filter.LevelMatchFilter">
        <levelToMatch value="FATAL"/>
        <acceptOnMatch value="true"/>
      </filter>
      <filter type="log4net.Filter.DenyAllFilter" />
        </appender>
    
    <root>
        <level value="ALL"/>
          <appender-ref ref="RollingLogFileAppender2"/> 
    </root>
</log4net>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.