Spdlog
spdlog là thư viện ghi nhật ký C++ nhanh, chỉ có tiêu đề. Nó cung cấp một cách đơn giản và hiệu quả để thêm nhật ký chẩn đoán vào ứng dụng C++ của bạn.
Tính năng:
- Chỉ tiêu đề, không cần xây dựng hoặc liên kết thư viện
- Có khả năng cấu hình cao, bao gồm hỗ trợ cho các phần ghi nhật ký tùy chỉnh (ví dụ: ghi vào tệp hoặc cơ sở dữ liệu)
- Chế độ ghi nhật ký không đồng bộ và đồng bộ
- Kiểm tra chuỗi định dạng dựa trên tiền xử lý để bắt lỗi tại thời điểm biên dịch
- Dễ dàng mở rộng với các trình định dạng, phần chìm và cấp độ tùy chỉnh
Ví dụ sử dụng:
Bao gồm tiêu đề spdlog, tạo một đối tượng logger và sử dụng nó để ghi các thông báo:
#include "spdlog/spdlog.h"
int main() {
// Tạo một logger với tên "example_logger"
auto logger = spdlog::stdout_color_mt("example_logger");
// Thông báo nhật ký với các mức độ nghiêm trọng khác nhau
logger->info("Welcome to spdlog!");
logger->warn("Warning message");
logger->error("Error message");
return 0;
}
Ví dụ về tệp chìm tùy chỉnh:
Đây là một ví dụ về cách tạo trình ghi nhật ký với tệp chìm tùy chỉnh ghi vào tệp văn bản:
#include "spdlog/spdlog.h"
#include "spdlog/sinks/basic_file_sink.h"
int main() {
// Tạo một tệp chìm để ghi nhật ký vào "logs.txt"
auto file_sink = std::make_shared<spdlog::sinks::basic_file_sink_mt>("logs.txt");
// Tạo logger với tệp chìm và tên "example_logger"
auto logger = std::make_shared<spdlog::logger>("example_logger", file_sink);
// Đăng ký bộ ghi
spdlog::register_logger(logger);
// Thông báo log
logger->info("Welcome to spdlog!");
logger->warn("Warning message");
logger->error("Error message");
return 0;
}
Để biết thêm ví dụ và tài liệu chi tiết, hãy truy cập kho lưu trữ spdlog GitHub.