加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 教程 > 正文

printk无法输出到打印台问题和Linux日志文件分析

发布时间:2021-12-10 17:58:36 所属栏目:教程 来源:互联网
导读:1. 查看当前控制台的打印级别 cat /proc/sys/kernel/printk 4 4 1 7 其中第一个4表示内核打印函数printk的打印级别,只有级别比他高的信息才能在控制台上打印出来,既 0-3级别的信息 2. 修改打印 echo 新的打印级别 4 1 7 /proc/sys/kernel/printk 3. 不够打
1. 查看当前控制台的打印级别
 cat /proc/sys/kernel/printk
 4    4    1    7
 其中第一个“4”表示内核打印函数printk的打印级别,只有级别比他高的信息才能在控制台上打印出来,既 0-3级别的信息
 
2. 修改打印
 echo "新的打印级别  4    1    7" >/proc/sys/kernel/printk
 
3. 不够打印级别的信息会被写到日志中可通过dmesg 命令来查看
 
4. printk的打印级别
 
#define KERN_EMERG        "<0>"
#define KERN_ALERT        "<1>"
#define KERN_CRIT            "<2>"
#define KERN_ERR            "<3>"
#define KERN_WARNING  "<4>"
#define KERN_NOTICE      "<5>"
#define KERN_INFO            "<6>"
#define KERN_DEBUG      "<7>"
 
5、printk函数的使用
 
printk(打印级别“要打印的信息”)  //“打印级别“即上面定义的几个宏
 
为什么我用telnet不行,而用tty终端就行?
 
1. 内核的printk把信息打到哪里去呢?这是在内核的命令行参数console=ttyXXX里指定死了,比如console=ttySAC0表示printk的信息输出到串口0
2. telnet上去之后,printf的输出信息是输出到一个“虚拟的终端”去的,你可以用ps命令看一下这个telnet对应的/bin/sh进程ID,ls  /proc/进程ID/fd -l 就可以知道这个虚拟的终端对应什么文件。
  你可以看到0、1、2这3个文件都是对应一个“临时生成的虚拟的文件”
3. 所以,内核的信息不可能在telnet界面显示出来,你想看的话,可以为dmesg命令查看
 
系统消息日志
 
#ls /var/log
 
dmesg    lastlog  messages  wtmp
 
/var/log目录下的20个Linux日志文件功能:
 
/var/log/messages — 包括整体系统信息,其中也包含系统启动期间的日志。此外,mail,cron,daemon,kern和auth等内容也记录在var/log/messages日志中。
 
/var/log/dmesg — 包含内核缓冲信息(kernel ring buffer)。在系统启动时,会在屏幕上显示许多与硬件有关的信息。可以用dmesg查看它们。
 
/var/log/auth.log — 包含系统授权信息,包括用户登录和使用的权限机制等。
 
/var/log/boot.log — 包含系统启动时的日志。
 
/var/log/daemon.log — 包含各种系统后台守护进程日志信息。
 
/var/log/dpkg.log – 包括安装或dpkg命令清除软件包的日志。
 
/var/log/kern.log – 包含内核产生的日志,有助于在定制内核时解决问题。
 
/var/log/lastlog — 记录所有用户的最近信息。这不是一个ASCII文件,因此需要用lastlog命令查看内容。
 
/var/log/maillog /var/log/mail.log — 包含来着系统运行电子邮件服务器的日志信息。例如,sendmail日志信息就全部送到这个文件中。
 
/var/log/user.log — 记录所有等级用户信息的日志。
 
/var/log/Xorg.x.log — 来自X的日志信息。
 
/var/log/alternatives.log – 更新替代信息都记录在这个文件中。
 
/var/log/btmp – 记录所有失败登录信息。使用last命令可以查看btmp文件。例如,”last -f /var/log/btmp | more“。
 
/var/log/cups — 涉及所有打印信息的日志。
 
/var/log/anaconda.log — 在安装Linux时,所有安装信息都储存在这个文件中。
 
/var/log/yum.log — 包含使用yum安装的软件包信息。
 
/var/log/cron — 每当cron进程开始一个工作时,就会将相关信息记录在这个文件中。
 
/var/log/secure — 包含验证和授权方面信息。例如,sshd会将所有信息记录(其中包括失败登录)在这里。
 
/var/log/wtmp或/var/log/utmp — 包含登录信息。使用wtmp可以找出谁正在登陆进入系统,谁使用命令显示这个文件或信息等。
 
/var/log/faillog – 包含用户登录失败信息。此外,错误登录命令也会记录在本文件中。

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读