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 |