|
GKD.RoboCtrl
|
用于日志输出的组件。 更多...
用于日志输出的组件。
提供日志等级控制和格式化日志输出功能,支持Debug、Info、Warn和Error四个等级。 Logger类是提供日志基础功能的单例类,用于管理全局日志设置和输出。 logable类是一个辅助基类,通过CRTP模式为派生类提供日志输出功能,要求派生类实现desc()方法以提供描述信息。
在文件 logger.h 中定义.
#include <atomic>#include <format>#include <mutex>#include <string_view>#include <utility>#include "utils/singleton.hpp"#include "core/multiton.hpp"类 | |
| class | roboctrl::log::logger |
| 日志类 更多... | |
| class | roboctrl::log::logable< T > |
| 用于提供日志功能的辅助基类 通过CRTP模式实现,要求派生类实现desc()方法以提供描述信息,在继承时传入派生类自身类型作为模板参数。 继承这个类后,派生类可以方便地使用log_debug、log_info、log_warn和log_error方法来记录日志,这些方法会自动包含类的描述信息。 示例: 更多... | |
命名空间 | |
| namespace | roboctrl::log |
| 日志模块 | |
宏定义 | |
| #define | LOG_LOGGER_CALL(level, role, fmt, ...) ::roboctrl::logger::instance().log(level, role, fmt __VA_OPT__(, ) __VA_ARGS__) |
| #define | GET_ROLE (std::string(__FILE__) + ":" + std::to_string(__LINE__) + ":" + __FUNCTION__) |
| #define | LOG_DEBUG(fmt, ...) LOG_LOGGER_CALL(::roboctrl::log_level::Debug, GET_ROLE, fmt __VA_OPT__(, ) __VA_ARGS__) |
| #define | LOG_INFO(fmt, ...) LOG_LOGGER_CALL(::roboctrl::log_level::Info, GET_ROLE, fmt __VA_OPT__(, ) __VA_ARGS__) |
| #define | LOG_WARN(fmt, ...) LOG_LOGGER_CALL(::roboctrl::log_level::Warn, GET_ROLE, fmt __VA_OPT__(, ) __VA_ARGS__) |
| #define | LOG_ERROR(fmt, ...) LOG_LOGGER_CALL(::roboctrl::log_level::Error, GET_ROLE, fmt __VA_OPT__(, ) __VA_ARGS__) |
枚举 | |
| enum | log_level { Debug = 0 , Info , Warn , Error } |
| #define GET_ROLE (std::string(__FILE__) + ":" + std::to_string(__LINE__) + ":" + __FUNCTION__) |
| #define LOG_DEBUG | ( | fmt, | |
| ... | |||
| ) | LOG_LOGGER_CALL(::roboctrl::log_level::Debug, GET_ROLE, fmt __VA_OPT__(, ) __VA_ARGS__) |
| #define LOG_ERROR | ( | fmt, | |
| ... | |||
| ) | LOG_LOGGER_CALL(::roboctrl::log_level::Error, GET_ROLE, fmt __VA_OPT__(, ) __VA_ARGS__) |
| #define LOG_INFO | ( | fmt, | |
| ... | |||
| ) | LOG_LOGGER_CALL(::roboctrl::log_level::Info, GET_ROLE, fmt __VA_OPT__(, ) __VA_ARGS__) |
| #define LOG_LOGGER_CALL | ( | level, | |
| role, | |||
| fmt, | |||
| ... | |||
| ) | ::roboctrl::logger::instance().log(level, role, fmt __VA_OPT__(, ) __VA_ARGS__) |