libusb_set_log_cb:日志中的垃圾邮件

问题描述

在libusb 1.0.23中添加 libusb_set_log_cb 函数。我在代码中使用此功能进行记录。我有libusb_log_cb函数

// In this function I am checking the libusb_log_level then call my log function
// that takes the my logger class,my enum with the log levels and str for logging.
// My log func logs the argument "str" in the file "libusbLogs.log" with the MY_LEVELS level.
void libusbLog(libusb_context* ctx,enum libusb_log_level level,const char* str)
{
    switch (level)
    {
    case LIBUSB_LOG_LEVEL_ERROR:    myFuncForLog(myLogger,MY_LEVELS::LOG_ERROR,"[ctx: " << ctx << "]: " << str); 
        break;
    case LIBUSB_LOG_LEVEL_WARNING:  myFuncForLog(myLogger,MY_LEVELS::LOG_WARNING,"[ctx: " << ctx << "]: " << str);
        break;
    case LIBUSB_LOG_LEVEL_INFO:     myFuncForLog(myLogger,MY_LEVELS::LOG_INFO,"[ctx: " << ctx << "]: " << str);
        break;
    case LIBUSB_LOG_LEVEL_DEBUG:    myFuncForLog(myLogger,MY_LEVELS::LOG_DEBUG,"[ctx: " << ctx << "]: " << str);
        break;
    }
}

这可以正常工作,但是在我的 .log 文件中,我有很多调试消息。一分钟后,我的文件大小增加了10MB。

这是我的 .log 文件的一小部分

UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.099145] [000028b4] libusb: debug [libusb_alloc_transfer] transfer 000001EBC07ECDE8
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.101217] [000028b4] libusb: debug [libusb_submit_transfer] transfer 000001EBC07ECDE8
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.102180] [000028b4] libusb: debug [usbi_add_pollfd] add fd 2 events 1
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.102895] [000028b4] libusb: debug [hid_submit_bulk_transfer] matched endpoint 81 with interface 0
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.103864] [000028b4] libusb: debug [hid_submit_bulk_transfer] reading 256 bytes (report ID: 0x00)
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.105138] [000028b4] libusb: debug [libusb_get_next_timeout] next timeout in 0.001000s
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.105971] [000028b4] libusb: debug [libusb_handle_events_timeout_completed] doing our own event handling
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.107024] [000028b4] libusb: debug [handle_events] poll fds modified,reallocating
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.107822] [000028b4] libusb: debug [handle_events] poll() 2 fds with timeout in 1ms
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.109117] [000028b4] libusb: debug [handle_events] poll() returned 0
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.109920] [000028b4] libusb: debug [libusb_cancel_transfer] transfer 000001EBC07ECDE8
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.110966] [000028b4] libusb: debug [hid_abort_transfers] will use interface 0
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.111787] [000028b4] libusb: debug [libusb_get_next_timeout] no URB with timeout or all handled by OS; no timeout!
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.112857] [000028b4] libusb: debug [libusb_handle_events_timeout_completed] doing our own event handling
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.113848] [000028b4] libusb: debug [handle_events] poll() 2 fds with timeout in 60000ms
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.114696] [000028b4] libusb: debug [handle_events] poll() returned 1
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.115409] [000028b4] libusb: debug [windows_handle_events] checking fd 2 with revents = 0001
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.116292] [000028b4] libusb: debug [usbi_remove_pollfd] remove fd 2
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.117005] [000028b4] libusb: debug [windows_transfer_callback] handling I/O completion with errcode 995,size 0
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.118187] [000028b4] libusb: debug [windows_transfer_callback] detected operation aborted
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.119049] [000028b4] libusb: debug [usbi_handle_transfer_cancellation] detected timeout cancellation
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.120014] [000028b4] libusb: debug [usbi_handle_transfer_completion] transfer 000001EBC07ECDE8 has callback 00007FFDFFB644C0
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.121241] [000028b4] libusb: debug [sync_transfer_cb] actual_length=0
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.121935] [000028b4] libusb: debug [libusb_free_transfer] transfer 000001EBC07ECDE8
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.128270] [000028b4] libusb: debug [libusb_alloc_transfer] transfer 000001EBC07ED028
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.129688] [000028b4] libusb: debug [libusb_submit_transfer] transfer 000001EBC07ED028
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.130563] [000028b4] libusb: debug [usbi_add_pollfd] add fd 2 events 1
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.131298] [000028b4] libusb: debug [hid_submit_bulk_transfer] matched endpoint 81 with interface 0
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.132267] [000028b4] libusb: debug [hid_submit_bulk_transfer] reading 256 bytes (report ID: 0x00)
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.133239] [000028b4] libusb: debug [libusb_get_next_timeout] next timeout in 0.001300s
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.134218] [000028b4] libusb: debug [libusb_handle_events_timeout_completed] doing our own event handling
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.135238] [000028b4] libusb: debug [handle_events] poll fds modified,reallocating
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.136088] [000028b4] libusb: debug [handle_events] poll() 2 fds with timeout in 2ms
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.140041] [000028b4] libusb: debug [handle_events] poll() returned 0
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.140898] [000028b4] libusb: debug [libusb_cancel_transfer] transfer 000001EBC07ED028
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.141772] [000028b4] libusb: debug [hid_abort_transfers] will use interface 0
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.143292] [000028b4] libusb: debug [libusb_get_next_timeout] no URB with timeout or all handled by OS; no timeout!
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.144385] [000028b4] libusb: debug [libusb_handle_events_timeout_completed] doing our own event handling
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.145395] [000028b4] libusb: debug [handle_events] poll() 2 fds with timeout in 60000ms
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.146376] [000028b4] libusb: debug [handle_events] poll() returned 1
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.147042] [000028b4] libusb: debug [windows_handle_events] checking fd 2 with revents = 0001
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.147921] [000028b4] libusb: debug [usbi_remove_pollfd] remove fd 2
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.148580] [000028b4] libusb: debug [windows_transfer_callback] handling I/O completion with errcode 995,size 0
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.149646] [000028b4] libusb: debug [windows_transfer_callback] detected operation aborted
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.150669] [000028b4] libusb: debug [usbi_handle_transfer_cancellation] detected timeout cancellation
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.151635] [000028b4] libusb: debug [usbi_handle_transfer_completion] transfer 000001EBC07ED028 has callback 00007FFDFFB644C0
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.152806] [000028b4] libusb: debug [sync_transfer_cb] actual_length=0
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.153513] [000028b4] libusb: debug [libusb_free_transfer] transfer 000001EBC07ED028
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.160173] [000028b4] libusb: debug [libusb_alloc_transfer] transfer 000001EBC07EBD08
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.161977] [000028b4] libusb: debug [libusb_submit_transfer] transfer 000001EBC07EBD08
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.163117] [000028b4] libusb: debug [usbi_add_pollfd] add fd 2 events 1
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.163940] [000028b4] libusb: debug [hid_submit_bulk_transfer] matched endpoint 81 with interface 0
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.164930] [000028b4] libusb: debug [hid_submit_bulk_transfer] reading 256 bytes (report ID: 0x00)
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.165952] [000028b4] libusb: debug [libusb_get_next_timeout] next timeout in 0.001200s
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.166844] [000028b4] libusb: debug [libusb_handle_events_timeout_completed] doing our own event handling
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.167962] [000028b4] libusb: debug [handle_events] poll fds modified,reallocating
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.168822] [000028b4] libusb: debug [handle_events] poll() 2 fds with timeout in 2ms
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.171975] [000028b4] libusb: debug [handle_events] poll() returned 0
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.172734] [000028b4] libusb: debug [libusb_cancel_transfer] transfer 000001EBC07EBD08
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.173618] [000028b4] libusb: debug [hid_abort_transfers] will use interface 0
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.174442] [000028b4] libusb: debug [libusb_get_next_timeout] no URB with timeout or all handled by OS; no timeout!
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.175588] [000028b4] libusb: debug [libusb_handle_events_timeout_completed] doing our own event handling
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.176669] [000028b4] libusb: debug [handle_events] poll() 2 fds with timeout in 60000ms
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.177578] [000028b4] libusb: debug [handle_events] poll() returned 1
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.178311] [000028b4] libusb: debug [windows_handle_events] checking fd 2 with revents = 0001
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.179260] [000028b4] libusb: debug [usbi_remove_pollfd] remove fd 2
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.179974] [000028b4] libusb: debug [windows_transfer_callback] handling I/O completion with errcode 995,size 0
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.181103] [000028b4] libusb: debug [windows_transfer_callback] detected operation aborted
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.182046] [000028b4] libusb: debug [usbi_handle_transfer_cancellation] detected timeout cancellation
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.183108] [000028b4] libusb: debug [usbi_handle_transfer_completion] transfer 000001EBC07EBD08 has callback 00007FFDFFB644C0
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.184415] [000028b4] libusb: debug [sync_transfer_cb] actual_length=0
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.185164] [000028b4] libusb: debug [libusb_free_transfer] transfer 000001EBC07EBD08
UsbUtils::UsbProvider::libusbLog : [ctx: 000001EBC1173AC0]: [ 0.191991] [000028b4] libusb: debug [libusb_alloc_transfer] transfer 000001EBC07EBBE8

我尝试每n次记录一次。但这是不正确的,因为我丢失了一些日志消息

有什么想法?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)