2019-11-01 11:07:43 qq_44805559 阅读数 40

在Linux中,日志分为九个级别
1 none 不记录日志
2 debug 调试信息
3 info 一般的通知信息
4 notice 提醒信息 比info重要一点
5 warning 警告信息 可能有问题
6 error 错误信息
7 critical 比较严重的错误信息
8 alert 警报信息 需要立即采取行动
9 emerg 紧急信息 系统可能已经不能使用了

2017-10-28 10:33:01 qq_33571718 阅读数 1494


linux下我们需要知道的日志:

=> /var/log/messages:常规日志消息
=> /var/log/boot:系统启动日志
=> /var/log/debug:调试日志消息
=> /var/log/auth.log:用户登录和身份验证日志
=> /var/log/daemon.log:运行squid,ntpd等其他日志消息到这个文件
=> /var/log/dmesg:Linux内核环缓存日志
=> /var/log/dpkg.log:所有二进制包日志都包括程序包安装和其他信息
=> /var/log/faillog:用户登录日志文件失败
=> /var/log/kern.log:内核日志文件
=> /var/log/lpr.log:打印机日志文件
=> /var/log/mail.*:所有邮件服务器消息日志文件
=> /var/log/mysql.*:MySQL服务器日志文件
=> /var/log/user.log:所有用户级日志
=> /var/log/xorg.0.log:X.org日志文件
=> /var/log/apache2/*:Apache Web服务器日志文件目录
=> /var/log/lighttpd/*:Lighttpd Web服务器日志文件目录
=> /var/log/fsck/*:fsck命令日志
=> /var/log/apport.log:应用程序崩溃报告/日志文件
=> /var/log/syslog:系统日志
=> /var/log/ufw:ufw防火墙日志
=> /var/log/gufw:gufw防火墙日志

#使用tail,more,less和grep命令。
tail -f /var/log/apport.log
more /var/log/xorg.0.log
cat /var/log/mysql.err
less /var/log/messages
grep -i fail /var/log/boot

2019-01-30 15:55:35 samtaoys 阅读数 135

To enable debug logging for the Common Firewall Driver on Windows Vista/2008 computers:

  1. Add the following data in:

    1. HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\tmwfp\Parameters:

      • Type: DWORD value (REG_DWORD)

      • Name: DebugCtrl

      • Value: 0x00001111

    2. HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\tmlwf\Parameters:

    • Type: DWORD value (REG_DWORD)

    • Name: DebugCtrl

    • Value: 0x00001111

  2. Restart the computer.

  3. Check wfp_log.txt and lwf_log.txt in C:\.

2019-09-25 20:30:47 weixin_38233274 阅读数 295

kernel的source code中有很多使用pr_debug/dev_dbg输出的日志信息(例如device tree解析的代码,drivers/of/fdt.c)。默认情况下,kernel不会将这些日志输出到控制台上,比如dev_dbg定义如下:

#if defined(CONFIG_DYNAMIC_DEBUG)
#define dev_dbg(dev, format, ...)		     \
do {						     \
	dynamic_dev_dbg(dev, format, ##__VA_ARGS__); \
} while (0)
#elif defined(DEBUG)
#define dev_dbg(dev, format, arg...)		\
	dev_printk(KERN_DEBUG, dev, format, ##arg)
#else
#define dev_dbg(dev, format, arg...)				\
({								\
	if (0)							\
		dev_printk(KERN_DEBUG, dev, format, ##arg);	\
})
#endif

第一种用法,如果定义了CONFIG_DYNAMIC_DEBUG,就使用动态debug机制dynamic_pr_debug();
第二种用法,如果定义了DEBUG,就使用printk(KERN_DEBUG...)
第三种用法,默认情况下,不打印(所以默认的时候在dmesg中看不到该打印)。

第三种用法肯定不是我们想要,第一种有点复杂,今天我们就来介绍第二种用法

1)开启了DEBUG宏

方法一:最简单的打开DEBUG宏的方法是修改Makefile文件,比如我们要打开kernel/drivers/mmc/下面所有文件以及子目录下所有文件的DEBUG宏,可以在kernel/drivers/mmc/Makefile中添加如下代码,其中,如果是ccflags-y := -DDEBUG表示只打开kernel/drivers/mmc/下面的文件的DEBUG宏,但不包括子目录下的文件的DEBUG宏,而subdir-ccflags-y := -DDEBUG表示全都打开。

方法二:其实开启DEBUG宏的方法很简单,在需要pr_debug/dev_dbg输出的模块开头,直接#define DEBUG即可,切记一定要在开头,如下图所示,如果你放在某个include 头文件之后,有可能这个头文件包含是pr_debug定义的头文件printk.h,导致打印没打开。开启之后,在dmesg中就可以看到pr_debug/dev_dbg的打印了。

2)kernel printk的默认日志级别大于7

先看看默认的console打印级别:

将上图中7改为大于7的数即可,比如8:

不够打印级别的信息会被写到日志中可通过dmesg 命令来查看

2018-07-15 22:12:58 QQ2010899751 阅读数 158

kernel的source code中有很多使用pr_debug/dev_dbg输出的日志信息(例如device tree解析的代码,drivers/of/fdt.c)。

默认情况下,kernel不会将这些日志信息输出到控制台上,除非:


1)开启 DEBUG 宏
2)控制台日志级别 >= 8

 

具体操作如下:

 1)开启DEBUG宏

在需要pr_debug/dev_dbg输出的模块开头,直接#define DEBUG即可,kernel中有一个例子:

/* init/main.c */

#define DEBUG           /* Enable initcall_debug */ 

或者

在需要pr_debug/dev_dbg输出的源文件所在目录中的Makefile,加入

EXTRA_CFLAGS += -DDEBUG

注意:只有#define DEBUG后,相关日志信息才会编译进去内核镜像zImage/Image/uImage。

           才能用dmesg查看到相关日志信息,但是串口控制台想要看到日志信息,还需要设置以下第二步。

 

2)控制台日志级别 >= 8,基于dts设置如下

chosen {
         bootargs = "earlyprintk console=ttyFIQ0 rw root=PARTUUID=614e0000-0000 rootfstype=ext4 rootwait loglevel=8";
 };
 

参考链接:

Linux kernel debug技巧----开启DEBUG选项

调整内核printk的打印级别

 

 

linux 日志

阅读数 55

Linux调试

阅读数 254

Linux 开启 SCSI 日志调试功能

博文 来自: fhqfghgdx1993

Linux:日志采集

阅读数 628

没有更多推荐了,返回首页