- 论坛徽章:
- 0
|
是指Common C++里面的Slog类吧?
commoncpp是个挺不错的库.
如果是的话,它本身是从streambuf和ostream继承而来的,就像普通流一样使用流输出运算符就可以了<<.
在CommonC++库里面定义了一个Slog类型的全局对象.
这个类本身对operator()进行了重载,返回一个Slog类型的引用.
- include <cc++/slog.h>
- #include <iostream>
- #include <cstdio>
- #ifdef CCXX_NAMESPACES
- using namespace std;
- using namespace ost;
- #endif
- int main(int argc, char* argv[])
- {
- slog("argv[0]", Slog::classDefault, Slog::levelInfo);
- slog << "slog begin start." << endl;
- //关闭向控制台的输出,只写到日志文件
- slog.clogEnable(false);
- slog << "This is only just an prompt information." << endl; //流输出运算符
- //打开向控制台的输出,同时写到日志文件
- slog.clogEnable(true);
- slog << "It should can see this information on konsole screen." << endl;
- return 0;
- }
复制代码
然后可以tail /var/log/messages,查看一下你的信息.
syslog(LOG_ALERT, "superman!\n");
syslog(LOG_ERROR, "chinese!\n");
就是
- slog(Slog::levelAlert) << "superman!\n";
- slog(Slog::levelError) << "chinese\n";
- 或者
- slog.alert() << "superman!\n"; //调整级别并返回实例,然后调用operator<<输出
- slog.error() << "chinese\n";
复制代码 |
|