lailongwei / llbc

一个简洁、高效、跨平台、多语言支持的服务端开发框架,面向Service及Component,底层c++实现。
MIT License
103 stars 33 forks source link

【llbc】LLOG宏支持所有appender都关闭时的短路支持, 以确保不会触发宏参数评估及函数调用 #257

Open lailongwei opened 1 month ago

lailongwei commented 1 month ago

如题,当前LLOG()宏只对log level进行了日志级别判断,如不符合就进行短路,不进行:宏参数评估LLBC_Logger::Output()调用,但未对logger中所有appenders都关闭的判断,如项目中只进行console appenderfile appender的disable,但日志级别还是DEBUG,还是会产生性能损耗

lailongwei commented 1 month ago

LLBC_Logger本身有此支持,在appender关闭的情况下,对应的logLevel会调整到LLBC_LogLevel::End,即LLBC_LogLevel::Fatal + 1,可防止宏参数评估,此单中更多是进行必要的代码优化、简化