38

I've written a udev rule which is run each time my device is mounted/dismounted.

However, in which Linux (Debian) error log should I check when debugging such rules?

2 Answers 2

30

You can change logging priority to "info" level or even "debug" by:

udevadm control --log-priority=info

Then you should see all logs in your system log. If you don't, then rsyslogd may not be configured to read kernel logs and you may still view the kernel logs using dmesg.

When you are done, bring it to default "err". See in /etc/udev/udev.conf what is your default logging level.

3
  • I am confused why there are two points of configuration for logging priority. Care to explain how udevadm control --log-priority=info is different from setting udev_log="err" in /etc/udev/udev.conf? Thanks Aug 29, 2015 at 10:16
  • 5
    The udevadmmethod is to change the logging priority of the running udevd; udev.conf is for permanently changing it.
    – boycy
    Sep 6, 2015 at 15:25
  • Log priority info was not sufficient for me to see logs in journalctl; I needed to bump it to debug.
    – Joe
    Dec 29, 2022 at 19:16
12

unbuffer udevadm monitor --environment The use of unbuffer is optional, but when piping output to grep saves you a headache. By default output is buffered in 4k blocks, nothing will be printed until that buffer is full.

You didn't forget to reload the rules? sudo udevadm control --reload

2
  • 1
    Should be noted that unbuffer is not installed by default on Debian.
    – enzotib
    Apr 11, 2012 at 19:14
  • 2
    That's correct, it is in the expect-dev package. It can be installed by sudo apt-get install expect-dev un Debian/Ubuntu.
    – jippie
    Apr 11, 2012 at 19:21

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .