dmitriev писал(а):Может быть как-то можно сделать ведение логов поподробнее?
Присоединяюсь к вопросу. И немного расширяю его:
Как заставить систему вести логи нужного процесса?
В моем случае - логи сетевого подключения (wvdial и ppp).
Я уже в исходной теме заметил, что здесь, как минимум,
3 вопроса одновременно:
1. как управлять порогом логирования системы?
2. как программа пишет лог, и как она определяет уровень логирования?
3. как заставить конкретную программу писать детальные логи?
Начнём с п.1
Вот здесь, в тексте книги
Модули ядра Linux, мы с моей группой слушателей разбирались (но только отчасти) с этими вопросами:
Вывод диагностики модуля
Определения констант для 8 уровней сообщений, записываемых в вызове printk() вы найдёте в файле /lib/modules/2.6.18-92.el5/build/include/linux/kernel.h:
Код: Выделить всё
#define KERN_EMERG "<0>" /* system is unusable */
#define KERN_ALERT "<1>" /* action must be taken immediately */
#define KERN_CRIT "<2>" /* critical conditions */
#define KERN_ERR "<3>" /* error conditions */
#define KERN_WARNING "<4>" /* warning conditions */
#define KERN_NOTICE "<5>" /* normal but significant condition */
#define KERN_INFO "<6>" /* informational */
#define KERN_DEBUG "<7>" /* debug-level messages */
- система логирования Linux предусматривает целую сетку уровней важности, "тревожности" сообщений...
- система логирования записывает в системный журнал только те сообщения, уровень "тревожности" которых численно
ниже (важнее)
порога, установленного для демона системного журнала ...
- порог уровня логирования устанавливается при
старте или рестарте демона системного журнала...
- рестарт, обычно, предусматривается посылкой (kill) демону сигнала SIGHUP;
- порог логирования демона определяется его конфигурациями (иногда и опциями запуска демона)...
-
к неприятности, принятая система логирования Linux меняется время от времени (довольно радикально): был syslogd, потом rsyslogd, сейчас в Fedora Леннарт Поттеринг со всей своей дурью настырно пробивает новую систему логирования, связанную с systemd (перевод:
зачем переходить на systemd)...
В любом случае, программа тупо выдаёт лог-сообщение (ничего не зная о деталях системного журнала), а логируется это сообщение или нет в журнал - решает демон журнала по своим текущим настройкам, и записывается сообщение в журнал только в том случае, если его индекс ниже установленного порога, все остальные сообщения просто игнорируются.
Обычно программы (особенно демоны, службы) сыпят лог-сообщения самых разных уровней тревожности ... а уже настройки системы логирования определяют какие из них отфильтровать в мусор.
P.S. там же, по показанному URL, в главе, показаны некоторые приёмы переконфигурирования уровня порога демона системного журнала ... но лучше это проверять-смотреть не по публикации на HTML странице книги, а в её более поздних обновлениях... чтоб не искать такие обновления, я наиболее свежую версию книги прикрепляю прямо сюда.