Что такое «лучшая практика» для расположения файлов журналов службы Windows?

Многие службы Windows ежедневно записывают файлы журналов в каталог установки своего приложения в разделе «программные файлы».

Системные приложения Windows (например, IIS) используют %SystemRoot%\System32\LogFiles. Что-то, что я должен сделать для моей службы?


person rupello    schedule 29.01.2009    source источник


Ответы (5)


Мы делаем каталог журнала настраиваемым. В зависимости от использования вам могут не понадобиться журналы на диске ОС или в месте, которое требует предоставления прав на большее, чем вам нужно.

Журнал событий не всегда является лучшим решением для более подробного ведения журнала. Мы используем журнал событий для ошибок и предупреждений, а также основных изменений состояния (запуск/остановка и т. д.), но мы используем файл журнала для более подробных действий.

person Joe    schedule 29.01.2009

Я бы не советовал ни то, ни другое, эти два обычно ломаются в Vista (и XP, но не так часто), поскольку для записи им требуются права администратора. Скорее я бы предложил %AllUsersProfile%\application data\yourService\

person Jared    schedule 29.01.2009
comment
Неправильно. Права администратора необходимы для установки нового источника данных журнала событий, а не для записи в него. - person Sander; 29.01.2009
comment
Я ничего не говорил о журнале событий, я говорил о записи в каталоги %systemroot% и %programfiles%. LPU не имеет доступа для записи или изменения этих каталогов. - person Jared; 29.01.2009

Используйте журнал событий — он может хранить данные в расширенных форматах и ​​поддерживает хорошие запросы через WMI (например, администраторы могут запрашивать журналы со всех 100 серверов одновременно для получения предупреждений, содержащих имя файла «Payroll.xml» — не нужно копаться в файлах журналов для устранения неполадок). Сервисы).

person Sander    schedule 29.01.2009
comment
Считаете ли вы журнал событий подходящим местом для IIS для хранения файлов журналов транзакций? - person rupello; 29.01.2009

В моих службах Windows я вывожу журналы в каталог по умолчанию «C:\App Log Files\» и позволяю пользователю выбрать альтернативное расположение. Я автоматически зацикливаю их, поэтому у меня есть Monday.log, вторник.log и т. д. Во вторник утром я удаляю Wednesday.log, чтобы на следующий день он был пуст. Наконец, если одной недели недостаточно, я переименовываю старую в среду.V01. Причина этого недельного цикла в том, что в предыдущей версии, сделанной кем-то другим, журналы были по дате и молча заполняли жесткие диски, пока все не рухнуло. Учитывая, что у большинства систем нет никого, кто бы их обслуживал, стоит заняться самообслуживанием.

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

person mj2008    schedule 29.01.2009

Один из вариантов — использовать журнал событий, именно в нем многие ИТ-специалисты ожидают найти журналы.

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

person chills42    schedule 29.01.2009
comment
%TEMP% может и будет очищен в любой момент внешним действием, которое вы не можете контролировать. Вы не можете полагаться на него в качестве места для ведения журнала, поскольку журналы там могут быть легко удалены, прежде чем они станут полезными в нужное время. - person Mike Atlas; 29.03.2010
comment
С другой стороны... очень маловероятно, что вам когда-либо потребуются специальные разрешения для записи во временную папку, что является одной из самых больших проблем при выборе папки журнала. - person chills42; 29.03.2010
comment
И если ваш файл журнала открыт, Windows не удалит его, потому что у него повреждена файловая система. - person boatcoder; 23.05.2013
comment
%TEMP% всегда плох для вещей, на которые люди могут захотеть взглянуть после любого аварийного восстановления... ;/ - person Kjellski; 16.08.2013