Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Практика использования Symfony2 Monolog

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Lewik
Отправлено: 22 Июня, 2014 - 10:02:29
Post Id



Новичок


Покинул форум
Сообщений всего: 15
Дата рег-ции: Апр. 2008  


Помог: 0 раз(а)




1. Остается ли на проде логирование с уровня debug? (Мне кажется надо оставлять с info или выше)
2. Остается ли в коде после разработки отправка debug-сообщений? При разработке они указываются где надо и так и остаются на будущее?
2.1. Если да: Отключают ли каким либо образом debug-логирование при разработке, чтобы оно не мешало в логе?

Гуглил, не нашел. Ответ не должен быть истиной в последней инстанции, напишите как вы сами это делаете?

(Отредактировано автором: 22 Июня, 2014 - 10:09:51)

 
 Top
Ch_chov
Отправлено: 22 Июня, 2014 - 11:21:45
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2121
Дата рег-ции: Июль 2008  
Откуда: из города


Помог: 90 раз(а)




Обычно на рабочем сайте логируют только ошибки и события которые могут быть интересны администратору сайта (регистрация нового пользователя, запуск крона и т.д.). Логирование отладочных сообщений это лишняя трата ресурсов. Можно каждый раз перед отправкой этих сообщений проверять какую нибудь опцию конфигурации, хотя я думаю это не обязательно. Просто настройте уровни и каналы логирования для каждого окружения.
 
 Top
Lewik
Отправлено: 22 Июня, 2014 - 11:28:24
Post Id



Новичок


Покинул форум
Сообщений всего: 15
Дата рег-ции: Апр. 2008  


Помог: 0 раз(а)




Я в целом согласен. Сам считаю что логирование на проде должно быть того, что требуется (как мне кажется это от info и выше).
И отправка в коде должна оставаться, только в конфиге окружения отключаться.

Еще вот такой вопрос: логи идут с вот таким заголовком:
Если его отправляет соответствующая "часть", то это security.INFO, event.DEBUG и т.п.
Если я его отправляю - то app.*

Вот интересно как фильтровать сообщения по этим app.* на уровне настройки окружения. (Для разработки не удобно смотреть сразу общий лог, хочется разделить его) Ну или решать через просмотр логов: http://forum.php.su/topic.php?forum=42&topic=986&postid=1403358668

(Отредактировано автором: 22 Июня, 2014 - 11:29:55)

 
 Top
Ch_chov
Отправлено: 22 Июня, 2014 - 11:44:56
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2121
Дата рег-ции: Июль 2008  
Откуда: из города


Помог: 90 раз(а)




Свой канал можно создать.
http://symfony[dot]com/doc/current/c[dot][dot][dot]ls_handlers[dot]html
 
 Top
Lewik
Отправлено: 22 Июня, 2014 - 11:59:11
Post Id



Новичок


Покинул форум
Сообщений всего: 15
Дата рег-ции: Апр. 2008  


Помог: 0 раз(а)




Да, уже нагуглил. Но я писать в лог фильтруя по каналу. Нашел что можно запилить свой обработчик, но думаю должна быть настройка на это дело.

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. monolog:
  3.     handlers:
  4.         main:
  5.             type: group
  6.             members: [streamed_all, streamed_info]
  7.         streamed_all:
  8.             type:  stream
  9.             path:  "%path_to_common_log%"
  10.             level: debug
  11.         streamed_info:
  12.             type:  stream
  13.             path:  "%path_to_info_log%"
  14.             level: info
  15.             channels: [app]
  16.         firephp:
  17.             type:  firephp
  18.             level: info
  19.         chromephp:
  20.             type:  chromephp
  21.             level: info
  22.  


Упорно не работает
Пишет в streamed_info и app.INFO и request.INFO
Надо писать все app.*
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2.         streamed_info:
  3.             type:  stream
  4.             path:  "%path_to_info_log%"
  5.             channels: [app]
  6.  

Пробовал, пишет вообще все.
(Добавление)
Всем спасибо, разобрался:

CODE (text):
скопировать код в буфер обмена
  1. monolog:
  2.     handlers:
  3.         main:
  4.             type:  stream
  5.             path:  "%path_to_common_log%"
  6.             level: debug
  7.         streamed_info:
  8.             type:  stream
  9.             path:  "%path_to_info_log%"
  10.             level: info
  11.             channels:
  12.                 type: inclusive
  13.                 elements:
  14.                     - app
  15.  


Надо было убрать групповой логгер и сконфигурировать streamed_info как показано выше. При это будет логировать только нужный канал. Если указать level, то все сооббщения этого канала будут отфильтрованы по указанному уровню.
Еще походу можно
CODE (text):
скопировать код в буфер обмена
  1.  
  2.             channels:
  3.                 type: exclusive
  4.                 elements:
  5.                     - !app
  6.  

Который понятно что делает. При exclusive элементы elements должны начинаться c ! иначе получите эксепшн.

(Отредактировано автором: 22 Июня, 2014 - 12:09:18)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« CMS и фреймворки »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB