1. Log Level 의미
항목 | 레벨 | 설명 |
1 | Console Log Level | 이 값보다 높은 우선순위 메세지(숫자가 작은..)들을 콘솔에 출력 |
2 | Default Message Log Level | 우선순위 없는 메시지들의 Level Default 값. ex) printk함수를 사용하면서 별도의 로그레벨을 설정하지 않을 경우 default로 입력되는 레벨. |
3 | Minimum Console Log Level | Console Log Level 이 설정될 수 있는 최소값. Console Log Level >= Minimum Console Log Level |
4 | Default Console Log Level | Console Log Level Default 값 |
주로 Console Log Level이 핵심.
로그 레벨 | DEFINE | 의미 |
"<0>" | KERN_EMERG | 시스템이 동작하지 않음 |
"<1>" | KERN_ALERT | 즉시 출력 메시지 |
"<2>" | KERN_CRIT | 치명적 에러 메시지 |
"<3>" | KERN_ERR | 에러 메시지 |
"<4>" | KERN_WARNING | 경고 메시지 |
"<5>" | KERN_NOTICE | 정상 메시지 |
"<6>" | KERN_INFO | 시스템 정보 메시지 |
"<7>" | KERN_DEBUG | 디버깅 정보 |
적절하게 사용하면 디버깅이라든지 Error 발생시 중요한 정보 등 편하게 표시하면서 개발할 수 있다.
2. Log Level 확인 및 적용
1. /proc 확인
# cat /proc/sys/kernel/printk
4 7 1 7
# echo '1 1 1 1' > /proc/sys/kernel/printk
# cat /proc/sys/kernel/printk
1 1 1 1
2. sysctl.conf 확인
# vi /etc/sysctl.conf
kernel.printk = 4 7 1 7 ### 수정
3. uboot bootargs 옵션 확인
> setenv bootargs ${bootargs} loglevel=4
> ### loglevel을 지정.
> setenv bootargs ${bootargs} quiet
> ### quiet 옵션이 있으면 debug message를 띄우지 않는다. 제거해야 한다.
> setenv bootargs ${bootargs} earlyprintk
> ### earlyprintk 옵션도 생각해보자.
기본적으로 Target Board의 Debug Serial pinmuxing이 되어야 하고, uboot에서 먼저 Setting값을 확인하여야 한다.
kernel, filesystem에서 아무리 변경해도 적용되지 않으면 uboot쪽을 봐야한다.
그리고 kernel에서 make menuconfig ( defconfig file 수정) -> Kernel hacking -> printk and dmesg options도 함께 보아야한다.
'Linux' 카테고리의 다른 글
DNS Server 추가 (0) | 2021.12.20 |
---|---|
[Pakage Error] Could not get lock /var/lib/dpkg/lock-frontend (0) | 2021.12.05 |
netplan: fatal error: cannot bind to port 2983 해결 (0) | 2021.09.28 |
ubuntu Samba 설정 (0) | 2021.07.30 |
ext4 mount하여 파일 확인 방법 (0) | 2021.07.26 |