Может ли кто-нибудь объяснить мне, как идут данные? Нужно понять, как я могу перехватить данные журнала, внести изменения в эти данные на месте, а затем сохранить в файл.
решение1
Журналы записываются самим двоичным файлом Apache httpd:
[root@cms_publish httpd]# fuser access_log
access_log: 488 1762 1842 4166 4167 4459 4460 4464 4634 5274 6679 7036 7120 7905 7980 8165 9290 9374 9375 9376 25534 26170 27463 29600
[root@cms_publish httpd]# ps -efa | grep 1762
apache 1762 1842 0 15:20 ? 00:00:00 /usr/sbin/httpd
root 10434 10309 0 15:32 pts/0 00:00:00 grep 1762
[root@cms_publish httpd]#
Естьмножество директивкоторые управляют тем, как и что Apache httpd будет регистрировать. Слишком много, чтобы перечислить здесь. Если вы хотите манипулировать, вы можете попробовать сделать что-то со сторонним модулем, чтобы поместить его в какой-то формат, которым вы можете манипулировать (например, mod_log_sql
), или вы можете дать TransferLog
или CustomLog
канал и работать с ним таким образом.
Я думаю, это отвечает на ваш вопрос. Достаточно ли этой информации для того, что вы пытаетесь сделать?