2011-05-20 31 views
40

在C,我們記錄是這樣的:如何查看bash中的系統日誌?

syslog(LOG_INFO, "proxying %s", url); 

在linux下,我們怎麼能檢查日誌?

+3

'less/var/log/syslog'? – NPE 2011-05-20 15:48:35

+0

函數'syslog' *寫*到系統日誌? (除非你正在討論訪問內核消息環緩衝區的低級別訪問,但我懷疑'url'是一個'int'。) – Cascabel 2011-05-20 15:54:30

+1

這個Q應該遷移到unix.SE.com,不確定它是否是值得它注意國防部的注意(我標記)。 – 2014-08-06 08:41:59

回答

68

less /var/log/syslog怎麼樣?

+17

'/ var/log/syslog'不存在... – kern 2011-05-20 15:52:49

+1

@kern:你正在使用哪個linux發行版和版本? – NPE 2011-05-20 15:53:29

+4

@kern:檢查你的'/ etc/syslog.conf'裏面的內容' – NPE 2011-05-20 15:58:14

31

在Fedora 19上,它看起來像答案是/var/log/messages。雖然檢查/etc/rsyslog.conf如果它已被更改。

11

tail -f /var/log/syslog | grep process_name 其中process_name是這個過程中我們感興趣的是

9

默認情況下它記錄到系統日誌在/var/log/syslog,因此它可以被讀取的名字:

tail -f /var/log/syslog 

如果文件沒有按不存在,請檢查/etc/syslog.conf以查看syslogd的配置文件。 注意,配置文件可以是不同的,所以查詢的運行中的進程,如果它是用不同的文件:

# ps wuax | grep syslog 
root  /sbin/syslogd -f /etc/syslog-knoppix.conf 

注意:在某些分佈(比如Knoppix)所有記錄的消息可以被髮送到不同的終端(例如/dev/tty12),所以訪問例如tty12嘗試按控制 + Alt + F12

您還可以使用lsof工具來確定syslogd進程正在使用哪個日誌文件,例如,

sudo lsof -p $(pgrep syslog) | grep log$ 

發送測試消息外殼到syslogd,您可以嘗試:

echo test | logger 

爲了排除故障(在Unix上的Linux stracedtruss)使用跟蹤工具,例如:

sudo strace -fp $(cat /var/run/syslogd.pid) 
0

在華碩路由器上可以通過

:/bin# busybox 

還有其他相關命令。