Skip to content

多线程丢日志问题 #109

@pengfengyong

Description

@pengfengyong
int main() {
    signal(SIGINT, signal_handler);   // Ctrl+C
    signal(SIGTERM, signal_handler);  // kill 命令

    fmtlog::setLogFile(crypto::gen_log_path("btc").c_str());
    fmtlog::setLogLevel(fmtlog::DBG);
    fmtlog::setFlushBufSize(8*1024*1024);  // 设置缓冲区位 8MB
    fmtlog::setFlushDelay(10000000);       // 设置 10ms 持久化
    fmtlog::startPollingThread(10000000);  // 默认 10ms

    ...
    return 0;
}

你好我在使用 fmtlog的时候遇到了多线程丢日志的问题,程序刚启动的时候日志打印正常,程序运行一段时间以后就会有一个线程日志丢失,下面是丢失前后对比图
两个线程都有日志:

Image

只有一个线程有日志,另一个线程根据订单成交情况来看已经执行了打印日志的代码:

Image

有大佬可以帮忙看看,我的使用有什么问题吗?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions