什么是日志(Log)?
1. 日志的定义
日志(Log)是程序运行时记录的重要信息,通常用于调试、监控和故障排查。它可以帮助开发者了解程序的运行状态,分析错误,甚至用于安全审计。
2. 常见的日志级别
| 级别 | 描述 |
|---|---|
| DEBUG | 详细信息,仅在调试时使用 |
| INFO | 关键信息,如程序启动、结束等 |
| WARNING | 警告信息,不影响运行,但需要注意 |
| ERROR | 发生错误,可能影响功能 |
| FATAL | 严重错误,程序可能崩溃 |
实现日志类
思路
[2024-08-04 12:27:03][DEBUG][202938][main.cc][16]- hello world
我们想实现一个日志类,是这样的,helloworld 是我们手动输入的,前面的日志信息,是日志类自己做的,DEBUG 是我们传进去的参数,我们来实现一下这个类。
首先日志类,我们看到要实现两种打印方式,一种是直接打印在屏幕上,一种是打印在文件当中,由于是两种模式,所以第一时间想到的肯定是虚类,我们创建一个虚类,然后内部定义一个打印方式,打印方式的函数我们定义为虚函数,我们在创建一个打印在屏幕上的类,创建一个打印在文件当中的类,两个类继承虚类,然后实现打印方式。为了防止和系统当中的命名冲突,所以我们使用命名空间
namespace lyrics {}
输出方式的实现
虚类:
// 策略模式
class Strategy_Pattern {
public:
// 使用系统默认的析构函数
virtual ~Strategy_Pattern() = default;
// 纯虚函数,需要基类实现
virtual void Log_refresh_mode(const std::string &message) = 0;
};
打印在屏幕上:
// 刷新到屏幕上
: Strategy_Pattern {
:
() {
n = (&_mutex, );
}
~() {
(&_mutex);
}
{
(&_mutex);
std::cout << message << std::endl;
(&_mutex);
}
:
_mutex;
};


