-1

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

4

1 回答 1

1

忘记单例,只需在课堂上制作所有内容static。您可能希望提供宏来轻松访问 log 方法,例如:

#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__)

这几乎没有什么区别。

于 2013-05-03T06:21:02.770 回答