Действительно ли Apache может Получить доступ к Журналам быть сохраненным разделенным и также объединенным также также?

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

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

  • /var/log/httpd/website-a.com.access_log
  • /var/log/httpd/website-b.com.access_log
  • /var/log/httpd/website-c.com.access_log

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

  • /var/log/httpd/access_log (Я думаю, что это - по умолчанию),

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


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

2
задан 11 September 2015 в 00:52
1 ответ

Это можно сделать. Вместо того, чтобы создавать запись 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

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

.

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

0
ответ дан 3 December 2019 в 14:38

Теги

Похожие вопросы