Вход на сайт
log4net
406
NEW 14.08.15 12:59
Вопросик по <log4net>...
Пользуюусь, но глубоко не рыл - базовая конфигурация, логгеры и пожалуй все.
Логи пишутся, логи смотрятся, но и логи растут до невозможности.
Особенно если включен уровень <INFO> - там почти отладочная информация.
Вопросик к тем кто смотрел глубже.
Есть желание иметь ограничения на лог:
- по-суточный лог в одном файле
- хранение по-суточных логов за неделю или две.
Есть где-то такое? Где посмотреть?
Пользуюусь, но глубоко не рыл - базовая конфигурация, логгеры и пожалуй все.
Логи пишутся, логи смотрятся, но и логи растут до невозможности.
Особенно если включен уровень <INFO> - там почти отладочная информация.
Вопросик к тем кто смотрел глубже.
Есть желание иметь ограничения на лог:
- по-суточный лог в одном файле
- хранение по-суточных логов за неделю или две.
Есть где-то такое? Где посмотреть?
14.08.15 14:50
Как пример:
<appender name="rollingFile" type="log4net.Appender.RollingFileAppender,log4net">
<file value="./logs/log"/>
<staticLogFileName value="false"/>
<appendToFile value="true"/>
<rollingStyle value="Date"/>
<datePattern value=".yyyyMMdd"/>
<layout type="log4net.Layout.PatternLayout,log4net">
<param name="ConversionPattern" value="%date [%thread] %-5level %logger.%method (%line) - %message%newline"/>
</layout>
</appender>
Если необходимо, можно по неймспейсам разделить как уровень логирования, так и способ.
Если задача заключается в удалении файлов, старше недели - не уверен, что такое можно реализовать с помощью log4net, но вполне можно решить обычным заданием на уровне OS.
в ответ Murr 14.08.15 12:59
In Antwort auf:
- по-суточный лог в одном файле
- по-суточный лог в одном файле
Как пример:
<appender name="rollingFile" type="log4net.Appender.RollingFileAppender,log4net">
<file value="./logs/log"/>
<staticLogFileName value="false"/>
<appendToFile value="true"/>
<rollingStyle value="Date"/>
<datePattern value=".yyyyMMdd"/>
<layout type="log4net.Layout.PatternLayout,log4net">
<param name="ConversionPattern" value="%date [%thread] %-5level %logger.%method (%line) - %message%newline"/>
</layout>
</appender>
Если необходимо, можно по неймспейсам разделить как уровень логирования, так и способ.
In Antwort auf:
- хранение по-суточных логов за неделю или две.
- хранение по-суточных логов за неделю или две.
Если задача заключается в удалении файлов, старше недели - не уверен, что такое можно реализовать с помощью log4net, но вполне можно решить обычным заданием на уровне OS.
NEW 17.08.15 15:54
в ответ MarS82 14.08.15 14:50
Попробовал. Что-то не связывается.
Файл - создается, лог пишется, но разделения по датам - нет.
можно по неймспейсам разделить как уровень логирования
-------
Это - понятно, но пока не интересно.
Интересно - чтобы сегодня писалось в 2015.08.17.log, а завтра, - 2015.08.18.log
Файл - создается, лог пишется, но разделения по датам - нет.
можно по неймспейсам разделить как уровень логирования
-------
Это - понятно, но пока не интересно.
Интересно - чтобы сегодня писалось в 2015.08.17.log, а завтра, - 2015.08.18.log
NEW 17.08.15 16:34
rtfm
https://logging.apache.org/log4net/release/config-examples.html
В примере
MarS82, наверное, точка была лишняя.
https://logging.apache.org/log4net/release/config-examples.html
В ответ на:
This example show how to configure the RollingFileAppender to roll log files on a date period. This example will roll the log file every minute! To change the rolling period adjust the DatePattern value. For example, a date pattern of "yyyyMMdd" will roll every day. See System.Globalization.DateTimeFormatInfo for a list of available patterns.
This example show how to configure the RollingFileAppender to roll log files on a date period. This example will roll the log file every minute! To change the rolling period adjust the DatePattern value. For example, a date pattern of "yyyyMMdd" will roll every day. See System.Globalization.DateTimeFormatInfo for a list of available patterns.
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="logfile" />
<appendToFile value="true" />
<rollingStyle value="Date" />
<datePattern value="yyyyMMdd-HHmm" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
</appender>
В примере

В ответ на:
<datePattern value=".yyyyMMdd"/>
17.08.15 18:18
в ответ MrSanders 17.08.15 16:34
Нее, мой собственный глюк - не поменял тип аппендера с <File...> на <RollingFile...>.
Чтобы получить дату в имени файла нужно иметь <staticLogFileName value="false" />
Точка (или буквы в паттерне) имени - нормально - они добавляются в имя файла "как есть".
Вот чего пока не нашел - как вместо <File.Log.20150817> получить <File.20150817.Log>
не хочется менять расширение каждый день... ну паттерн <datePattern value="yyyyMMdd.Log" />
можно конечно написать...
Чтобы получить дату в имени файла нужно иметь <staticLogFileName value="false" />
Точка (или буквы в паттерне) имени - нормально - они добавляются в имя файла "как есть".
Вот чего пока не нашел - как вместо <File.Log.20150817> получить <File.20150817.Log>
не хочется менять расширение каждый день... ну паттерн <datePattern value="yyyyMMdd.Log" />
можно конечно написать...
NEW 17.08.15 18:34
в ответ Murr 17.08.15 18:18
Нее, паттерн <datePattern value="yyyyMMdd.Log" /> - не работает - его "g" интерпретируется как управляющее для вывода эры...
Зато есть замечательная, но не описанная в доках, закорючка <preserveLogFileNameExtension value="true" /> - получается как надо <File.20150817.log>...
Зато есть замечательная, но не описанная в доках, закорючка <preserveLogFileNameExtension value="true" /> - получается как надо <File.20150817.log>...
