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

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

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

Ура,

9.08.2008 02:03:52
6 ОТВЕТОВ
РЕШЕНИЕ

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

7
9.08.2008 02:10:12

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

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

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

1
10.08.2008 22:42:25

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

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

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

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

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

0
10.08.2008 20:57:21

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

0
11.08.2008 01:45:10
или с помощью Log Parser Lizard, это отличное дополнение для LogParser, поддерживающее sql-подобный синтаксис практически для всего, включая файловую систему.
jhexp 9.06.2011 10:19:21

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

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

0
13.02.2013 06:04:34