Где я должен поместить свой лог-файл для приложения asp.net? - PullRequest
8 голосов
/ 09 августа 2008

У меня есть приложение ASP.NET, для которого мы написали наш собственный модуль журналирования.

Мой вопрос: где стандартное место для записи файла журнала? То есть веб-сайт будет работать как анонимный пользователь (например, IUSR на IIS7), и мне нужно место, где я знаю, что у него будет разрешение на запись.

Приветствия

Ответы [ 6 ]

6 голосов
/ 09 августа 2008

Папка App_Data в корне проекта. Он не обслуживается веб-запросами; так что другие люди не могут отследить это.

1 голос
/ 09 августа 2008

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

В любом случае вам нужно будет предоставить учетной записи «Сетевая служба» разрешения «Изменить» для нужной папки.

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

0 голосов
/ 13 февраля 2013

Push app_data - лучшая идея, имейте в виду, что при публикации проектов, если отмечена опция «Удалить все существующие файлы перед публикацией», то текущие данные в папке будут удалены. Обходной путь - пропустить удаление папки app_data.

Другим вариантом ведения журнала является использование некоторого существующего фреймворка, такого как Log4net.

0 голосов
/ 11 августа 2008

Вы также можете войти в журнал событий Windows или в таблицу в базе данных. Как часто люди смотрят журнал событий? Если это проверяется на регулярной основе, запись в таблицу значительно упрощает отчетность, так как тривиально изменить порядок и показать только последние X событий за текущий период времени. В журнал событий Windows вы также можете запросить журнал событий Windows через PowerShell или LogParser .

0 голосов
/ 11 августа 2008

У меня нет возможности изменять разрешения для папок (особенно за пределами домашней папки виртуального каталога), и у меня еще нет папки App_Data, поэтому я немного колеблюсь с этим.

Если у вас есть веб-сайт, у вас явно есть папка. Разве вы не можете добавить подпапку без веб-интерфейса? Похоже, что это было бы более подходящим местом для размещения ваших журналов, чем их сброс в глобальную общую папку.

0 голосов
/ 11 августа 2008

У меня нет возможности изменять разрешения для папок (особенно за пределами домашней папки виртуального каталога), и у меня еще нет папки App_Data, поэтому я немного колеблюсь с этим.

Итак, на данный момент я собираюсь использовать папку CommonApplicationData.

  • В Vista / Server 2008 это C: \ ProgramData \
  • В XP / Server 2003 это C: \ Documents and Settings \ Все пользователи \ Данные приложения \
...