Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Apache

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Настройка логов Apache
 
 автор: kaoz   (20.09.2006 в 12:41)   письмо автору
 
 

разобрался почти со всем...
кроме формата даты и времени

дирректива %t записывает в лог свой формат даты.
что-то вроде [20/sep/2006:12:12:12 +0400]

в мануале сказано что можно поменять формат используя %{format}t
что написать в фигурных скобках чтоб формат даты и времени был в mysql формате YYYY-MM-DD-00:00:00, а временнАя зона была через символ табуляции?

   
 
 автор: kaoz   (20.09.2006 в 12:51)   письмо автору
 
   для: kaoz   (20.09.2006 в 12:41)
 

и еще два вопроса по настройке логов...

используя диррективу %200{User-Agent}i я могу записывать в лог пользовательского агента, когда код 200 (Ok). Какие коды еще можно включить(Меня интересуют только правильные код получения контента от сервера без редиректов)?

и еще, используя директиву %r я получаю первую строку HTTP запроса. в логах записывается что-то вроде "GET /test/index.html?ggg=777 HTTP 1.1" можно ли убрать GET и HTTP/1.1 из этой строки? (Примечание: если использовать какие-нибудь другие диррективы по получению запрошенного адреса (я делал %U%q или что-то в этом роде), то в случае ошибок 403, 404 итд в лог записывается не вся инфа, например исчезает строка после "?". Меня же интересует получение запрошенного адреса в любых случаях ответа сервера).

   
 
 автор: kaoz   (20.09.2006 в 18:49)   письмо автору
 
   для: kaoz   (20.09.2006 в 12:41)
 

с форматом датывремени разобрался...

LogFormat "%{%Y-%M-%D %H:%M:%S}t"

хочу сделать чтоб в логе писалась временная зона (отклонение от гринвичского меридиана). пишу %Z(других параметров у strftime() нет) а сервак мне пишет "Московское время (зима)" (apache стоит на виндовс)...

может все-таки есть решение, ведь писалась же зона в том формате который мне нужен?

   
 
 автор: glsv (Дизайнер)   (21.09.2006 в 04:55)   письмо автору
 
   для: kaoz   (20.09.2006 в 18:49)
 

>пишу %Z(других параметров у strftime() нет) а сервак мне пишет "Московское время (зима)" (apache стоит на виндовс)...

Хм... скорее всего - это Windows так работает, т.к. strftime() использует функции операционной системы.

   
 
 автор: kaoz   (21.09.2006 в 07:57)   письмо автору
 
   для: glsv (Дизайнер)   (21.09.2006 в 04:55)
 

я так и понял... но без %{format}t зону пишет нормально как мне надо... может все-таки есть способ? может мускул имеет функцию временной зоны, я в мускул потом лог перегружаю...

а что насчет первой строки запроса? как убрать из нее GET и HTTP/1.1 средствами апача?

   
 
 автор: glsv   (21.09.2006 в 09:04)
 
   для: kaoz   (21.09.2006 в 07:57)
 

>а что насчет первой строки запроса? как убрать из нее GET и HTTP/1.1 средствами апача?

Так может Вам при экспорте журнал обрабатывать? И лишние данные удалять.

   
 
 автор: kaoz   (21.09.2006 в 12:42)   письмо автору
 
   для: glsv   (21.09.2006 в 09:04)
 

нет... я сразу хочу грузить файл через LOAD DATA INFILE
это очень быстрый способ и мудрить ничего ненадо...

а вообще есть возможность писать логи не в файл а в БД? было бы очень прикольно

   
 
 автор: glsv (Дизайнер)   (22.09.2006 в 07:12)   письмо автору
 
   для: kaoz   (21.09.2006 в 12:42)
 

> нет... я сразу хочу грузить файл через LOAD DATA INFILE
> это очень быстрый способ и мудрить ничего ненадо...

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

> а вообще есть возможность писать логи не в файл а в БД? было бы очень прикольно
Теоретически можно. Во первых, можно передавать логии внешней утилите, которая и будет их обрабатывать и сама помещать в базу. Эту утилиту, скорее всего придется писать самому. Т.к. обработка логов у Вас достаточно уникальна.

Во вторых, подозреваю, что для Apache существует специальный модуль как раз для помещения логов в базу. Поищите на http://modules.apache.org/

   
 
 автор: kaoz   (22.09.2006 в 08:15)   письмо автору
 
   для: glsv (Дизайнер)   (22.09.2006 в 07:12)
 

помоему я нашел то что надо

MOD_LOG_MYSQL_Log requests to Apache 2 using a MySQL database

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования