C ++记录器的单例模式

时间:2013-05-03 06:17:12

标签: c++

我需要设计一个记录器类,所有其他类别将使用它来记录消息。目前,我正在每个类中创建记录器的poiner并调用记录器的方法来记录消息。我想以单件模式方式设计它,它必须是线程安全的。任何人都可以建议一个好方法。

1 个答案:

答案 0 :(得分:1)

忘掉单身人士,只需在课堂上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__)

这几乎没什么区别。