如何解决系统大量打印日志出现异常退出打印某条日志只有一半的情况
定义一个守护信号对象 日志执行结束后 析构函数开放阻塞信号 在此期间 系统不接受任何信号
class SignalGuard
{
public:
SignalGuard(); //block all signals on current thread and save the previous mask.
~SignalGuard(); // release block opt
private:
sigset_t mPreviousMask;
};
LOG_RECORD(lev,fmt,...)
SignalGuard __signalguard; \
record(lev,fmt,...)