2013-08-27 2 views
0

В моем приложении я использую log4net для создания журналов. Я хочу создать файлы журнала в том месте, где приложение будет установлено. То есть файлы журнала должны быть сгенерированы в c:\App_Instal_path\Logs(folder), если приложение установлено под c:\. Если оно D:\, то файлы журнала должны быть ниже D:\App_Instal_path\Logs(folder). Я сделал так:Log4net для генерации файлов журнала динамически

<appender name="ColoredFileAppender" type="log4net.Appender.RollingFileAppender" > 
<file type="log4net.Util.PatternString"/> 
<file value=***NEEDS TO BE FILLED*** /> 

Любые ответы будет очень ценна ..

+0

попробовать это: HTTP: //stackoverflow.com/questions/1535736/log4net-how-can-i-change-the-file -location-programmatically-c – Nahum

+0

Вы пытались установить значение файла на ""? или "\" ? Это сохранит журнал, из которого выполняется приложение. – ilansch

ответ

3

Вы можете поместить логфайл рядом с ехе файл, если вы пишете так:

<file value="log-file.txt" /> 

В этом случае , вы поставите логфайл в папке журналов, рядом с ехе файл:

<file value="Logs/log-file.txt" /> 

в этом случае, вы положили в логфайл Система TMP папки:

<file value="${TMP}\log-file.txt" /> 

Посмотрите здесь для получения дополнительной информации: http://logging.apache.org/log4net/release/config-examples.html

+0

Спасибо за это: В вашем 2-м ответе это похоже на Logs \ log-file.txt ?? (\ вместо /) ?? – vysakh

+0

Думаю, это не имеет значения. В примерах [link] (http://forums.asp.net/t/1052690.aspx) используется «\», но я смотрел раздел конфигурации в своем рабочем проекте - здесь я использую «/», и это хорошо работает. –

+2

@vysakh На самом деле .NET (т. Е. Лежащий в основе API Win32) в большинстве случаев поддерживает как косую черту '/', так и обратную косую \ '' как разделитель каталогов. Для согласованности я бы рекомендовал использовать обратную косую черту. –

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