본문으로 건너뛰기
로그인 둘러보기
개발·코딩·데이터베이스 · 윈도우즈 유틸

smartlog

0

smartlog은 고성능 TUI 기반 로그 테일러로, JSON 자동 감지와 실시간 필터링 기능을 제공합니다.

러스트로그 뷰어실시간 필터터미널

소개

smartlog은 고성능 TUI 기반 로그 테일러로, JSON 자동 감지와 실시간 필터링 기능을 제공합니다. Felipe Pires Morandini가 Rust로 개발하여 터미널에서 로그를 실시간으로 테일링하고 필터링할 수 있도록 설계되었습니다. JSON 형식의 로그를 자동으로 감지하여 하이라이트하고, 일반 텍스트 스트림도 처리할 수 있습니다.

상세정보

로그 테일링 및 입력 처리

smartlog은 --file 옵션을 통해 특정 로그 파일을 테일링하거나, 파이프를 통해 표준 입력(stdin)으로 로그 데이터를 전달받을 수 있습니다. 파일이 truncate되거나 로테이션될 경우 자동으로 새로운 파일 시작부터 읽기를 재개합니다.

JSON 자동 감지 및 하이라이트

JSON 형식의 로그를 자동으로 감지하여 레벨에 따라 색상을 적용하여 pretty-print합니다. 지원하는 레벨 필드는 level, severity, lvl이며, ERROR/FATAL은 빨간색, WARN은 노란색, INFO는 초록색, DEBUG/TRACE는 파란색으로 표시됩니다.

실시간 필터링

/ 키를 눌러 필터 모드에 진입한 후 검색어를 입력하고 Enter로 적용할 수 있습니다. ESC로 필터를 해제할 수 있으며, r 키로 정규 표현식 모드를 전환할 수 있습니다.

로그 레벨 필터링

l 키를 눌러 로그 레벨 필터를 순환할 수 있습니다: ALL → ERROR → WARN → INFO → DEBUG → ALL. 텍스트/정규 표현식 필터와 결합하여 사용할 수 있습니다.

추가 기능

w 키로 줄 바꿈을 토글하고, t 키로 상대 타임스탬프 표시를 토글하며, T 키로 다크, 라이트, 솔라라이즈드, 드라큘라 테마를 순환할 수 있습니다. e 키로 현재 필터링된 로그를 파일에 내보낼 수 있습니다.

설치 및 시작 방법

Windows에서는 winget 패키지 관리자를 통해 winget install FelipeMorandini.smartlog 명령으로 설치할 수 있습니다. 설치 후 smartlog 명령을 실행하여 프로그램을 시작합니다. 로그 파일 경로를 인자로 전달하거나, tail -f app.log | smartlog과 같이 파이프를 통해 로그 데이터를 전달할 수 있습니다.

지원 환경 및 요구사항

smartlog은 Windows 10 이상에서 winget을 통해 설치 및 실행이 가능하며, 터미널이 VT 시퀀스를 지원해야 정상적으로 동작합니다. 소스 코드로부터 빌드하려면 Rust 1.74.0 이상과 Git이 필요합니다.

제한 사항 및 확인사항

smartlog은 로그 테일링에 특화되어 있어 일반 텍스트 편집 기능은 제공하지 않습니다. 터미널 환경에서만 동작하므로 GUI 기반 로그 뷰어가 필요한 경우 적합하지 않을 수 있습니다. JSON 자동 감지는 JSON 형식이 아닌 로그에는 적용되지 않습니다.

시스템 요구사항

Rust 1.74.0 이상이 필요하며, 소스 코드로부터 빌드할 경우 Git과 Cargo가 필수입니다. Windows에서는 winget을 통해 설치할 수 있으며, 터미널이 VT 시퀀스를 지원해야 합니다(Windows 10 이상 권장).