2015-05-14 7 views
3

Я использую NLog в многопроектном решении. Я установил свойство filename конфигурационного файла в "${basedir}/logs/logFile.log", и проблема заключается в следующем: каталог журналов создается в основном каталоге каждого проекта, поэтому каждый проект имеет свой собственный набор журналов. То, что я хотел бы иметь, - это один каталог журналов для всего решения, поэтому в основном это означает, что filename для родительского каталога basedir.
Как я могу это сделать? "../${basedir}/logs/logFile.log" не работает, журналы сохраняются в том же каталоге.Родительский каталог Basedir - Конфигурация NLog

ответ

2

Вы можете использовать, например, ${specialfolder:folder=LocalApplicationData}/logs/logFile.log Это позволит создать журнал в %USERPROFILE%\AppData\Local\logs

Это решение также будет работать на корпоративных приложениях, так как эта папка имеет все права пользователя, необходимые для того, чтобы процесс подачи заявки, чтобы написать журналы.

+0

Это веб-приложение, хотя, так что, когда он развертывается на IIS я хотел журналы, чтобы быть сохранены в основной каталог приложения, а не где-нибудь в папке профиля администратора администратора. –

+2

Даже для веб-приложения пользователь, который запускает приложение, не должен иметь права на запись в папке приложения. Почему бы вам не создать специальную папку в другом месте? И в файле конфигурации укажите реальный путь к этой папке. Пример: 'D: \ Data \ MyApplication \ Logs' –

+0

Для эха @CristinaAlboni: файлы журнала должны * никогда * не войти в каталог приложения, это открывает потенциальные проблемы с безопасностью. Они должны находиться в отдельной папке журналов, в идеале на другом диске (и никогда System (C :)), так что нет никаких шансов, что чрезмерные файлы журналов могут сбить сервер. –

9

У меня была аналогичная ситуация. Мне нужно, чтобы каталог/logs/был родным братом фактического каталога моего проекта. Я обнаружил, что это работает для меня:

fileName="${basedir}/../logs/logFile.log" 

Я использую NLog 2.1.0

+0

Это не имеет значения, по крайней мере, не в последней версии (4) версии NLog. – pookie

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