2013-03-06 3 views
0

Я пытаюсь определить новый LogFormat путем повторного использования уже существующего псевдонима LogFormat.httpd logformat configuration - добавление суффикса формата к существующему logformat

Рассмотрим следующие пропущено (из раздела «Log files» документации HTTPd):

SetEnv CACHE_MISS 1 
LogFormat "%h %l %u %t \"%r\" %>s %b %{CACHE_MISS}e" common-cache 
CustomLog logs/access_log common-cache 

Я хотел бы знать, если есть способ, чтобы определить формат common-cache журнала, повторно используя common формат журнала вместо жесткого кодирования %h %l %u %t \"%r\" %>s %b

Я спрашиваю это потому, что я хочу, чтобы определить формат с base войти в файле ядра httpd.conf, а затем определить формат в customized журнала, основанный на base формат журнала, в каждом из моих виртуальных хост файлов конфигурации

Обратите внимание, что я не нужен псевдоним для настраиваемого формата журнала, что означает, что решение одной из следующих форм будет достаточно:

## form 1 
LogFormat *my customized format* 
TransferLog logs/access_log 

##form 2 
CustomLog logs/access_log *my customized format* 

Спасибо за ваши входы

ответ

0

Используйте piped log для достижения этой цели:

CustomLog "|| customizer.sh logs/access_log 86400" foo_format 

Второй аргумент указывает, что будет записано в файл журнала. Он может указывать либо псевдоним, определенный предыдущей директивой LogFormat, либо может быть строкой форматированного формата, как описано в разделе форматов журнала.

+0

Спасибо за ваш ответ, я вижу эту идею, но я действительно не понимаю, что должно быть в содержимом customizer.sh? Простая команда echo, которая возвращает шаблон журнала для добавления в формат основного журнала (foo_format)? – zoom

Смежные вопросы