프로젝트 소개

StormByte Logger는 StormByte 제품군의 일부로 설계된 C++26 로깅 라이브러리입니다. 이 라이브러리는 다양한 로그 레벨(LowLevel, Debug, Warning, Notice, Info, Error, Fatal)을 지원하는 스트림 기반 로깅 인터페이스를 제공합니다. 또한 레벨(%L), 타임스탬프(%T), 스레드 ID(%i) 및 리터럴 %(%%)를 위한 형식 지정자를 사용하여 로그 헤더를 사용자 정의할 수 있습니다. 이 라이브러리에는 읽기 쉬운 숫자 포맷팅(humanreadable_number, humanreadable_bytes)과 마스킹(redact, redact_first, no_redact)을 위한 조작자가 포함되어 있습니다. 마스킹은 텍스트와 숫자 모두에 적용되며, 처음 또는 마지막 N개의 문자를 유지하는 옵션을 제공합니다. 이러한 조작자의 상태는 변경될 때까지 유지됩니다. 라이브러리는 두 가지 주요 로깅 클래스를 제공합니다: Log(단일 스레드용)와 ThreadedLog(논리적 라인당 하나의 락을 사용하여 스레드 안전을 보장하며, 출력 레벨 미만의 메시지에는 락을 사용하지 않음)입니다. 주의: 일반 Log는 스레드 안전하지 않으므로, 멀티스레드 환경에서는 반드시 ThreadedLog를 사용해야 합니다. 이 라이브러리를 사용하려면 StormByte Base와 C++26 컴파일러가 필요합니다.