dmesg 로그를 필터링하여 오류만 보는 방법

dmesg 로그를 필터링하여 오류만 보는 방법

저는 우분투에 있고 dmesg를 작성할 때 오류 메시지가 빨간색으로 나타납니다. 콘솔에 이 메시지만 인쇄하려면 어떻게 해야 합니까?

답변1

--level에 설명된 옵션을 사용하세요 .man dmesg:

  -l, --level list
         Restrict output to the given (comma-separated) list of levels.
         For example:

                dmesg --level=err,warn

         will print error and warning messages only.  For all supported
         levels see the --help output.

답변2

직접적인 대답

dmesg --level=emerg,alert,crit,err

이것이 대부분의 사람들이 찾고 있는 것입니다. 심각도에 따라 다음 8개 목록을 추가하거나 제거하십시오.

   emerg - system is unusable    
   alert - action must be taken immediately
    crit - critical conditions
     err - error conditions
    warn - warning conditions   
  notice - normal but significant condition
    info - informational    
   debug - debug-level messages

대체 답변
나는 dmesg 출력을 신속하게 필터링하기 위해 grep을 사용하는 것을 좋아하며 많은 show 명령 끝에 이를 사용할 수 있습니다. 대소문자 를 -i구분하지 않습니다. 인용하다:https://www.howtogeek.com/449335/how-to-use-the-dmesg-command-on-linux/.

dmesg | grep -i "error"

다른 옵션

journalctl -p 0..3

그러면 비슷한 정보가 다르게 보일 것입니다. 심각도 필터링( 0~ 3)을 수정하되, 이러한 키워드를 기억할 필요 없이 dmesg와 동일한 개념을 얻으려면 0~7의 숫자만 사용하세요.
신용 거래:https://askubuntu.com/a/1245985/192800

토끼굴
이에 대해 생각하는 또 다른 방법은 dmesg의 제한 사항을 해결하는 대신 실제 로그 파일을 보기 위해 선택한 방법을 사용하는 것입니다. 이는 모든 파일에 광범위하게 적용될 수 있으며 정규식과 같은 것을 사용하면 무한한 가능성이 있습니다. 다음은 마지막 항목 수를 표시하는 두 가지 방법의 데모입니다 -n.

tail -n 20 /var/log/dmesg
dmesg | tail -n 20

답변3

dmesg --level=warn+

모든 경고와 모든 상위 수준 로그가 출력됩니다.

반품,

dmesg --level=+warn

경고보다 낮은 수준의 모든 로그를 출력합니다.

관련 정보