我正在学习 RHEL 7。
如果我将此行添加到 rsyslog.conf 中:
kern.notice /dev/console
带有设施“内核”和优先级“通知”的消息将记录在哪里?
如果我运行这个命令:
logger -p kern.notice "Testing Log Entry"
我将在哪里看到“测试日志条目”消息?
乔丹:
如何定义 /dev/console 的终端?现在我没有对基本安装进行任何更改。所以当我运行命令时:
echo "Testing" > /dev/console
什么都没发生。甚至没有任何错误。那么我在哪里可以看到定向到 /dev/console 的日志呢?
答案1
控制台可以是任何 tty 设备,包括虚拟 tty(如)/dev/tty1
、真实 tty(如串行端口)/dev/ttyS0
或伪 tty(如)/dev/pts/8
。
初始控制台在启动时设置,您可以使用启动选项(如 )指定它console=ttyS0,9600
,其中 9600 是波特率。通常在有图形的机器上,它是第一个虚拟 tty,您可以使用chvt
ctrl-leftalt-1 或类似命令访问它。
您可以通过发出 来更改控制台ioctl(fd, TIOCCONS, 0)
,其中 fd 是 tty,并且您有足够的权限(通常是 root)。请参见 man tty_ioctl。
为了进行实验,该实用程序中有一个console on
命令screen
可以使您的 pty 成为控制台,但您必须是 root 才能使其工作,并且您的主机必须支持 ioctl TIOCCONS。
答案2
确保 syslogd 正在运行。确保您的/etc/rsyslog.conf启用了本地日志记录模块。
$ModLoad imuxsock # provides support for local system logging
您始终可以输出到文件而不是控制台。
ie:
kern.notice /var/log/kern.log
您可以使用尾-f /var/log/kern.log从任何控制台实时查看日志文件输出。