//不写一句废话
//代码:log_demo.cpp
#include <string.h>
#include <fstream>
#include <boost/thread.hpp>
#include <time.h>
#include <unistd.h>
using namespace std;
class Demo
{
public:
Demo();
~Demo();
ofstream DEMO_LOG;
void func();
string getTime();
};
Demo::Demo()
{
string file="/home/xx/demo.log";//xx=your user name
DEMO_LOG.open(file.c_str());
}
Demo::~Demo()
{
}
void Demo::func()
{
while(1)
{
string time=getTime();
DEMO_LOG<<time<<endl;//把DEMO_LOG当成cout使用就好了,哪里想写写哪里
cout<<time<<endl;
sleep(1);
}
}
string Demo::getTime()
{
time_t timep;
time (&timep);
char tmp[64];
strftime(tmp, sizeof(tmp), "%Y-%m-%d %H:%M:%S",localtime(&timep) );
return tmp;
}
int main()
{
Demo demo;
boost::thread td(boost::bind(&Demo::func,&demo));
td.join();
return 0;
}
编译:
g++ log_demo.cpp -o demo -lboost_system -lboost_thread
运行:
xx@xxThinkPad-X:~$ cat demo.log
2021-03-18 15:10:54
2021-03-18 15:10:55
2021-03-18 15:10:56
2021-03-18 15:10:57
2021-03-18 15:10:58
2021-03-18 15:10:59
2021-03-18 15:11:00
用着不错的童鞋记得点赞哦,有什么小需求也可以写在评论里,全手敲加实际运行