本篇将使用 C/C++ 代码实现一个日志程序,便于我们在调试程序的时候,打印出对应的日志信息,同时也可以重定向然后记录我们的日志信息。
日志:软件运行的记录信息,可以向显示器打印,也可以向文件中打印。
本篇中设置出的日志特定格式:
[日志等级][pid][filename][filenumber][time] 日志内容(支持可变参数)
其中日志等级分为:DEBUG(调试信息)、INFO(正常信息)、WARNING(存在问题,但不影响正常运行)、ERROR(存在错误,但还是希望尽量不要退出程序)、FATAL(致命错误,直接退出)。
实现的日志程序如下:
Log.hpp:
#pragma once #include <iostream> #include <string> #include <cstdarg> #include <cstring> #include <fstream> #include <sys/types.h> #include <pthread.h> #include <unistd.h> namespace log_ns { enum { DEBUG = 1, INFO, WARNING, ERROR, FATAL }; // 定义日子真正需要记录的信息 struct LogMessage { std::string _level; int _id; std::string _filename; int _filenumber; std::string _curtime; std::string _log_message; }; #define SCREEN_TYPE 1 #define FILE_TYPE 2 const std::string defaultlogfile = "./log.txt"; pthread_mutex_t log_lock = PTHREA
日志Log程序(C++)
最新推荐文章于 2025-04-01 11:49:00 发布