2011-01-24 4 views
0

Я использую старую версию log4net: 1.2.0.21221.Использование старой версии log4net: как использовать RollingFileAppender?

Когда я использовал новую версию log4net, мне удалось успешно использовать скользящий файл appender.

Используя свойства:

log4net.GlobalContext.Properties["LogName"] = string.Concat(fileName, "_", dateTimeInfo, ".log"); 

log4net.ThreadContext.Properties["Version"] = "1"; 

XmlConfigurator.Configure(); 

Эти вещи не доступны в старой версии log4net. Как использовать мой загружаемый файл appender, определенный в моем файле конфигурации? Мне нужно новое имя для файла конфигурации каждый раз, когда я запускаю свое приложение.

ответ

1

Нет причин для использования GlobalContext для правильного именования файла.

Смотрите следующий пример:

<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender"> 
    <file value="FILENAME" /> 
    <appendToFile value="true" /> 
    <rollingStyle value="Date" /> 
    <staticLogFileName value="false" /> 
    <maximumFileSize value="100KB" /> 
    <lockingModel type="log4net.Appender.FileAppender+MinimalLock" /> 
    <datePattern value="-yyyyMMddhhmmss'.log'" /> 
    <layout type="log4net.Layout.PatternLayout"> 
    <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" /> 
    </layout> 
</appender> 

<file value="..." /> является первой частью вашего файла. Имя файла PRE, если хотите. Посмотрите немного дальше, и есть <datePattern value="..." />, который является остальной частью имени файла. Он получает APPENDED к значению, которое вы ввели в атрибут файла. В моем примере он выведет файл с именем FILENAME-20110124090021.log.

Если вы заметили последнюю часть моего datePattern, она содержит одинарные кавычки «.log» внутри двойных кавычек и просто избегает любых значений, которые оцениваются вызовом datetime.

+0

Но скажите мне, где находится путь к этому файлу журнала ... где вы можете установить путь к моему файлу журнала .. – Sandepku

+0

может у вас PLS предоставить мне пример кода, чтобы сделать это .. не удалось достичь то же .. спасибо – Sandepku

+0

файл журнала будет выводиться в том же месте, что и ваш исполняемый файл. Если вы хотите, чтобы он был выведен в такое место, как C: \ LOGS, просто обновите значение файла = «C: \ Logs \ FILENAME» – phillip

Смежные вопросы