Назад | Перейти на главную страницу

Можно ли хранить журналы доступа Apache разделенными, а также объединенными?

Мой вопрос может немного сбить с толку, прошу прощения за это. Вот что мне нужно:

Ну, у меня есть (скажем) 3 веб-сайта, размещенных на одном Apache (которые определены внутри каждого VirtualHost настройки. Затем я В настоящее время регистрировать свои журналы доступа отдельно, как в:

Так что все в порядке. Но в то же время, Я ТАКЖЕ хочу, чтобы они (все журналы доступа) находились в файле журнала локального хоста Apache по умолчанию (я не знаю, как это назвать). Может быть:


Другими словами, есть ли способ (как) хранить журналы доступа по отдельности и в то же время хранить все в одном комбинированном файле?


Таким образом, это позволит мне видеть каждый из журналов доступа в отдельных файлах. И в то же время я могу видеть все журналы в одном месте, ЕСЛИ МНЕ НУЖНО.

Это можно сделать. Вместо создания записи CustomLog в каждом разделе VirtualHost используйте SetEnvIfNoCase в глобальной конфигурации httpd.conf чтобы установить переменную, если домен совпадает, а затем записать запись с включенной переменной в файл.

например

SetEnvIfNoCase Host website-a.com weba
SetEnvIfNoCase Host website-b.com webb
SetEnvIfNoCase Host website-c.com webc

CustomLog /var/log/httpd/website-a.com.access_log combined env=weba

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

[править] Вам может потребоваться экранировать точку в имени домена.