Log4Net помещает файлы журналов в папки года и месяца - PullRequest
0 голосов
/ 11 декабря 2018

Я перепробовал несколько предложений, найденных здесь, в StackOverflow, и в конце концов получил следующее, которое, похоже, сделало свою работу:

    <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
        <file type="log4net.Util.PatternString" value="%appSetting{LogsFolder}\%date{yyyy}\%date{MM}\MyLogs.log" />
        <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
        <appendToFile value="true" />
        <rollingStyle value="Date" />
        <datePattern value="ddMMyyyy" />
        <preserveLogFileNameExtension value="true" />
        <staticLogFileName value="true" />
        <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%thread] %-5level %logger (%property{culture}) %identity - %message%newline" />
        </layout>
    </appender>

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

Я получаю структуру папок, в которой год первый и месяц второй, но я все ещееще нет папки для 12 (декабрь).Самая новая папка у меня есть 11 , и она содержит все журналы за ноябрь с 6 по 30, в дополнение к журналам за декабрь.

Имена файлов MyLogs12112018.log и т. д., где шаблон - день / месяц / год.

Я действительно хотел бы добавить точку (.) между MyLogs и датойно это вторично.

Однако, почему файлы журналов помещаются в неправильные папки?

Ответы [ 2 ]

0 голосов
/ 14 января 2019

Как насчет следующего:

<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
      <file type="log4net.Util.PatternString" value="%appSetting{LogsFolder}" />
      <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
      <appendToFile value="true" />
      <rollingStyle value="Date" />
      <datePattern value="yyyy\\MM\\'MyLogs.'ddMMyyyy'.log'" />
      <preserveLogFileNameExtension value="true" />
      <staticLogFileName value="false" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-5level %logger (%property{culture}) %identity - %message%newline" />
      </layout>
    </appender>
0 голосов
/ 13 декабря 2018

Попробуйте эту вторую строку:

<file type="log4net.Util.PatternString" value="%appSetting{LogsFolder}\%date{yyyy}\%date{MM}\%date{dd}\MyLogs.log" />''
...