Создание печати printk моего модуля в мой собственный лог-файл

Я занимаюсь программированием модулей Linux. Обычно я печатаю небольшие сообщения об ошибках и прочее для отладки - затем выхожу из модуля и использую "dmesg", чтобы посмотреть, что случилось.

Этот метод отладки больше не достаточно. Я хотел бы передать свой текст "printk" в мой собственный файл журнала - желательно локальный, но я понимаю, если это невозможно, и мне нужно поместить его где-нибудь, как var/log/*. Log.

Я посмотрел на редактирование syslog.conf - но я не уверен, что там делать. Я хочу только printk моего модуля в его собственных файлах. Есть ли простой способ сделать это, что мой Google-фу не может поймать?

1 ответ

Решение

Вам нужно будет начать каждый printk's с уникальным токеном модуля:

printk("MyModule: ....", ....);
  1. использование syslog-ng (например) правило соответствия, чтобы перехватить весь вывод модуля
  2. Используйте `tail -f /var/log/messages | grep MyModule для просмотра результатов работы ядра в реальном времени
Другие вопросы по тегам