Repolode
armink

armink/EasyLogger

리소스가 제한된 임베디드 기기를 위한 초경량 C/C++ 로깅 라이브러리로, 필터링·컬러 출력·출력 대상 플러그인을 지원합니다.

스타
4,799
포크
1,323
열린 이슈
82
마지막 커밋
그저께

어떤 프로젝트인가요?

EasyLogger는 IoT 제품, 웨어러블, 스마트 홈 기기처럼 리소스에 민감한 프로젝트를 위해 설계된 C/C++ 로깅 라이브러리입니다. 코드와 RAM 사용량을 매우 작게 유지하며, log4c나 zlog 같은 무거운 라이브러리보다 빠르게 도입할 수 있도록 인터페이스를 의도적으로 간결하게 구성했습니다.

로그 출력 대상은 사용자가 정의하므로 터미널, 파일, 데이터베이스, 시리얼 포트, RS-485 또는 플래시 메모리로 메시지를 보낼 수 있습니다. 각 항목에는 레벨, 타임스탬프, 스레드 및 프로세스 정보가 포함될 수 있으며, 태그·레벨·키워드 기준 필터링을 컴파일 타임과 런타임 모두에서 지원합니다. 로그 레벨은 서로 다른 색으로 표시되며 RAW 및 hexdump 형식도 지원합니다. RT-Thread, uC/OS, Linux, Windows, NuttX 및 베어메탈 플랫폼에서 실행되며, 스레드 안전·비동기·버퍼링 출력 모드를 제공합니다.

EasyFlash를 통한 플래시 기반 로그 저장과 파일 로테이션 같은 추가 기능은 플러그인으로 제공됩니다.

핵심 기능

  • 01ROM 1.6K 미만, RAM 0.3K의 초소형 풋프린트.
  • 02터미널, 파일, 플래시, 시리얼 또는 데이터베이스 등 사용자가 출력 대상을 지정할 수 있습니다.
  • 03태그, 레벨, 키워드 기준 정적·동적 필터링.
  • 04스레드 안전·비동기·버퍼링 출력 모드.
  • 05레벨별 컬러 출력과 RAW 및 hexdump 형식 지원.
  • 06플래시 로그 저장 및 파일 로테이션 플러그인.

활용 사례

  • 리소스가 제한된 IoT 또는 웨어러블 펌웨어의 로깅.
  • RT-Thread 또는 베어메탈 대상 임베디드 기기 디버깅.
  • 파일 시스템이 없는 시스템에서 플래시에 기기 로그 저장.
  • 대규모 C 프로젝트에 태그 기반 로그 필터링 추가.

빠른 시작

  1. 1

    포팅하기 전에 docs/zh의 중국어 문서를 읽으세요

  2. 2

    docs/zh/port/kernel.md에 따라 라이브러리를 프로젝트에 포팅하세요

사용 전 알아둘 점

  • 패키지 매니저를 통한 설치는 지원하지 않습니다. 소스 코드를 프로젝트에 포팅해야 합니다.
  • 설정은 전역 싱글턴이므로 출력 대상별로 복잡한 설정을 구성할 수 없습니다.
  • 주요 문서와 README는 중국어로 작성되어 있습니다.

포함된 컬렉션

토픽

자주 묻는 질문

EasyLogger은(는) 무엇인가요?
리소스가 제한된 임베디드 기기를 위한 초경량 C/C++ 로깅 라이브러리로, 필터링·컬러 출력·출력 대상 플러그인을 지원합니다. EasyLogger는 IoT 제품, 웨어러블, 스마트 홈 기기처럼 리소스에 민감한 프로젝트를 위해 설계된 C/C++ 로깅 라이브러리입니다. 코드와 RAM 사용량을 매우 작게 유지하며, log4c나 zlog 같은 무거운 라이브러리보다 빠르게 도입할 수 있도록 인터페이스를 의도적으로 간결하게 구성했습니다.
EasyLogger은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
EasyLogger은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
EasyLogger은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. EasyLogger의 마지막 커밋은 2026년 11월 5일입니다.
EasyLogger은(는) 어디에 사용할 수 있나요?
리소스가 제한된 IoT 또는 웨어러블 펌웨어의 로깅. RT-Thread 또는 베어메탈 대상 임베디드 기기 디버깅. 파일 시스템이 없는 시스템에서 플래시에 기기 로그 저장. 대규모 C 프로젝트에 태그 기반 로그 필터링 추가.
EasyLogger는 어떻게 설치하나요?
포팅하기 전에 docs/zh의 중국어 문서를 읽으세요 docs/zh/port/kernel.md에 따라 라이브러리를 프로젝트에 포팅하세요
EasyLogger은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/armink/EasyLogger

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트

50개 이상의 MCU 제품군에서 메모리와 스레드 안전성을 고려해 설계된, 임베디드 시스템용 오픈소스 크로스 플랫폼 USB Host 및 Device 스택입니다.

7.3천+14 이번 주1.6천CMIT업데이트 15시간 전