相关疑难解决方法(0)

如何编写类似iostream的接口到日志库?

我想为我非常简单的日志库编写一个方便的界面.以下两段代码.第一个是我现在做的,第二个是我对直观界面的想法:

std::ostringstream stream;
stream<<"Some text "<<and_variables<<" formated using standard string stream"
logger.log(stream.str()); //then passed to the logger
Run Code Online (Sandbox Code Playgroud)

logger.convinient_log()<<"Same text "<<with_variables<<" but passed directly";
Run Code Online (Sandbox Code Playgroud)

我的想法设计过程就是从logger.convinient_log()函数中返回某种类似临时字符串流的对象.破坏的对象(我希望它发生在行尾或类似的,方便的地方)将从自身收集字符串并调用实际logger.log().关键是我想整个处理它,而不是逐个处理,以便log()可以添加例如.整行文本的前缀和后缀.

我非常清楚,如果没有一些沉重的魔法,它可能是完全不可能或不可能的.如果是这样的话,那么这样做几乎是方便的方式以及如何实现它?我打赌传递一些强制收集呼叫logger.log()操作的特殊变量.

如果您不知道确切答案,那么也欢迎有关该主题的资源(例如扩展字符串流).

c++ logging iostream c++11

2
推荐指数
2
解决办法
1885
查看次数

标签 统计

c++ ×1

c++11 ×1

iostream ×1

logging ×1