C++에서 spdlog는 간편하게 사용할 수 있는 로깅 라이브러리입니다. spdlog는 로그 메시지를 기록하고 출력하는 데 도움이 되는 다양한 기능을 제공합니다. 아래는 spdlog를 사용하여 로그를 생성하고 출력하는 예제입니다:
spdlog 설치:
spdlog는 외부 라이브러리이므로 먼저 설치해야 합니다. 예를 들어, CMake를 사용하는 경우 CMakeLists.txt 파일에 다음과 같이 spdlog를 추가합니다:

find_package(spdlog REQUIRED)
target_link_libraries(your_project_name PRIVATE spdlog::spdlog)
spdlog 사용 예제:

#include <iostream>
#include <spdlog/spdlog.h>
int main()
{
// 로그 생성
auto logger = spdlog::stdout_color_mt("logger_name");
// 로그 출력
logger->info("Hello, {}!", "world");
logger->error("An error occurred!");
return 0;
}
위의 예제에서 spdlog/spdlog.h 헤더를 포함하여 spdlog를 사용합니다. spdlog::stdout_color_mt 함수를 사용하여 터미널에 로그를 출력할 로거를 생성합니다. 로거 이름은 "logger_name"으로 지정됩니다.
logger->info()와 logger->error()를 사용하여 로그 메시지를 출력합니다. {}는 포맷 문자열의 인자를 나타내며, 이후에 제공된 문자열이 해당 자리에 대체됩니다.
실행 결과는 다음과 같이 출력됩니다:

[info] [logger_name] Hello, world!
[error] [logger_name] An error occurred!
위의 예제는 간단한 로그 메시지를 출력하는 방법을 보여줍니다. spdlog는 다양한 로깅 기능과 로그 레벨, 로그 파일 출력 등을 제공하므로 자세한 사용법과 설정은 spdlog의 문서와 예제를 참조하시기 바랍니다.
txt로그 예제
spdlog를 사용하여 로그를 텍스트 파일에 저장하는 예제:

#include <iostream>
#include <spdlog/spdlog.h>
#include <spdlog/sinks/basic_file_sink.h>
int main()
{
// 로그 파일 경로
std::string logFilename = "log.txt";
// 로그 생성
auto logger = spdlog::basic_logger_mt("logger_name", logFilename);
// 로그 출력
logger->info("Hello, {}!", "world");
logger->error("An error occurred!");
return 0;
}
위의 예제에서는 spdlog::basic_logger_mt 함수를 사용하여 텍스트 파일에 로그를 저장하는 로거를 생성합니다. logFilename 변수에 로그 파일 경로를 지정합니다. 해당 로거는 "logger_name"으로 명명됩니다.
logger->info()와 logger->error()를 사용하여 로그 메시지를 출력합니다. 출력된 로그는 logFilename에 지정된 경로의 텍스트 파일에 저장됩니다.
실행 결과는 텍스트 파일 log.txt에 로그가 저장됩니다.
spdlog는 로그를 파일로 저장하는 여러 가지 옵션과 형식을 제공합니다. 자세한 내용은 spdlog의 문서와 예제를 참조하시기 바랍니다.
'[프로그램]' 카테고리의 다른 글
| c# wpf 프로젝트 만들기 (0) | 2023.07.19 |
|---|---|
| C++ struct와 class 차이점 (0) | 2023.07.17 |
| C++에서 템플릿은 제네릭 프로그래밍을 지원하기 위한 강력한 기능입니다. (0) | 2023.07.17 |
| C++에서 소수점을 올림하는 방법은 ceil 함수를 사용하는 것입니다. (0) | 2023.07.17 |
| C++ 타이머 c++ settimer 응용 예제 (0) | 2023.07.17 |