c++日志器的单例模式
Singletion pattern for C++ logger
我需要设计一个记录器类,它将被所有其他类用于记录消息。目前,我正在每个类中创建logger的指针,并通过logger指针调用logger的方法来记录消息。我想以单例模式的方式设计它,它必须是线程安全的。谁能建议一个好的方法?
忘掉单例吧,把所有的东西都放在类static
中。您可能希望提供宏来方便地访问日志方法,例如:
#define logdbg(fmt, ...) Log::log(__FUNCTION__, Log::LEVEL_DEBUG, fmt, ##__VA_ARGS__)
当作为单例实现时,它需要是:
#define logdbg(fmt, ...) Log::instance().log(__FUNCTION__, Log::LEVEL_DEBUG, fmt, ##__VA_ARGS__)
相关文章:
- C++单例模式代码无法运行,不知道为什么?
- 工厂模式和单例模式:未定义的引用
- 使用静态和避免单例模式声明全局变量
- 如何在 c++ 中使用单例模式时编写 cmake 文件
- 可派生类的单例模式
- 这是单例模式的正确实现吗?
- 懒惰的初始化使用单例模式
- 带参数的单例模式对象
- 另一个类上使用的单例模式
- 这是单例模式的示例吗?
- 了解单例模式中的操作重载
- 为什么我们在C++的单例模式中使用静态方法和静态函数
- 强制单例模式的静态函数
- 当周围有线程时,创建类的许多实例会失败吗?- 单例模式
- 为什么这种单例模式不起作用?
- 这种c++单例模式和方法公开是一种好的实践吗?
- c++单例模式_实现和内存管理
- 单例模式实现错误
- c++日志器的单例模式
- 单例模式:auto_ptr和unique_ptr的不同行为