2012-10-21 85 views
2

我正在做一些Linux模塊編程。我通常會打印一些錯誤消息和調試信息 - 然後退出我的模塊並使用「dmesg」查看發生了什麼。將模塊的printk打印到我自己的日誌文件中

該調試方法已不夠用。我想將我的「printk」文本輸入到我自己的日誌文件中 - 最好是本地文件,但是我明白如果這是不可能的,我需要將它放在var/log/*。log等某處。

我已經看過編輯syslog.conf - 但我不知道該怎麼做。我只需要我的模塊的printk在它自己的文件中。有沒有一種簡單的方法可以實現我的Google-fu無法捕捉的功能?

回答

0

你需要開始每printk's與模塊的唯一令牌:

printk("MyModule: ....", ....); 
  1. 使用syslog-ng(例如)匹配規則來捕獲所有模塊的輸出
  2. 使用`尾-f/var/log/messages | grep MyModule查看活動內核的輸出
+0

啊,我明白了 - 但是printk的第二個參數是什麼? – PinkElephantsOnParade

+0

'printk'就像'printf',詳情請參閱man printf' –