异步线程安全日志器
更多...
#include <rmvl/logger.hpp>
|
| | Logger () |
| | 创建 stdout 日志器
|
| | Logger (LoggerOptions options) |
| | 使用指定公共配置创建 stdout 日志器
|
| template<typename SinkType> |
| | Logger (SinkType sink, LoggerOptions options={}) |
| | 使用指定日志后端和公共配置创建日志器
|
| | ~Logger () |
| | 等待工作线程退出,并持久化队列中剩余的日志
|
| void | log (LogLevel level, std::string_view msg) |
| | 记录指定级别的日志
|
| void | debug (std::string_view msg) |
| | 记录 DEBUG 级别日志
|
| template<typename... Args> |
| void | debug (fmt::format_string< Args... > format, Args &&...args) |
| | 记录 DEBUG 级别日志
|
| void | info (std::string_view msg) |
| | 记录 INFO 级别日志
|
| template<typename... Args> |
| void | info (fmt::format_string< Args... > format, Args &&...args) |
| | 记录 INFO 级别日志
|
| void | warn (std::string_view msg) |
| | 记录 WARN 级别日志
|
| template<typename... Args> |
| void | warn (fmt::format_string< Args... > format, Args &&...args) |
| | 记录 WARN 级别日志
|
| void | error (std::string_view msg) |
| | 记录 ERROR 级别日志
|
| template<typename... Args> |
| void | error (fmt::format_string< Args... > format, Args &&...args) |
| | 记录 ERROR 级别日志
|
| void | critical (std::string_view msg) |
| | 记录 CRITICAL 级别日志
|
| template<typename... Args> |
| void | critical (fmt::format_string< Args... > format, Args &&...args) |
| | 记录 CRITICAL 级别日志
|
| void | setLevel (LogLevel level) noexcept |
| | 设置最低输出级别
|
| LogLevel | level () const noexcept |
| | 获取最低输出级别
|
| void | flush () |
| | 阻塞等待队列中的日志全部持久化
|
| std::size_t | pendingBytes () const noexcept |
| | 获取当前尚未持久化的日志字节数
|
| std::size_t | droppedLogs () const noexcept |
| | 获取因异步队列溢出而丢弃的日志数
|
| std::size_t | backendErrors () const noexcept |
| | 获取日志后端累计发生的错误数
|
异步线程安全日志器
日志先进入内存队列,再由内部工作线程写入指定后端。文件、串口和 UDP 后端会在达到缓存阈值、定时器到期或调用 flush() 时持久化。
◆ Logger() [1/3]
◆ Logger() [2/3]
◆ Logger() [3/3]
template<typename SinkType>
使用指定日志后端和公共配置创建日志器
- 模板参数
-
| SinkType | 满足 sink_write 和 sink_flush 定制点的后端类型 |
- 参数
-
| [in] | sink | 日志后端 |
| [in] | options | 日志器公共配置 |
◆ ~Logger()
◆ backendErrors()
| std::size_t rm::Logger::backendErrors |
( |
| ) |
const |
|
nodiscardnoexcept |
◆ basic()
| Logger & rm::Logger::basic |
( |
| ) |
|
|
static |
获取进程内默认 stdout 日志器
- 返回
- 默认 stdout 日志器
◆ critical() [1/2]
template<typename... Args>
| void rm::Logger::critical |
( |
fmt::format_string< Args... > | format, |
|
|
Args &&... | args ) |
|
inline |
记录 CRITICAL 级别日志
- 模板参数
-
- 参数
-
| [in] | format | 格式化字符串 |
| [in] | args | 可变参数包 |
◆ critical() [2/2]
| void rm::Logger::critical |
( |
std::string_view | msg | ) |
|
|
inline |
◆ debug() [1/2]
template<typename... Args>
| void rm::Logger::debug |
( |
fmt::format_string< Args... > | format, |
|
|
Args &&... | args ) |
|
inline |
记录 DEBUG 级别日志
- 模板参数
-
- 参数
-
| [in] | format | 格式化字符串 |
| [in] | args | 可变参数包 |
◆ debug() [2/2]
| void rm::Logger::debug |
( |
std::string_view | msg | ) |
|
|
inline |
◆ droppedLogs()
| std::size_t rm::Logger::droppedLogs |
( |
| ) |
const |
|
nodiscardnoexcept |
获取因异步队列溢出而丢弃的日志数
- 返回
- 丢弃的日志数
◆ error() [1/2]
template<typename... Args>
| void rm::Logger::error |
( |
fmt::format_string< Args... > | format, |
|
|
Args &&... | args ) |
|
inline |
记录 ERROR 级别日志
- 模板参数
-
- 参数
-
| [in] | format | 格式化字符串 |
| [in] | args | 可变参数包 |
◆ error() [2/2]
| void rm::Logger::error |
( |
std::string_view | msg | ) |
|
|
inline |
◆ flush()
| void rm::Logger::flush |
( |
| ) |
|
◆ info() [1/2]
template<typename... Args>
| void rm::Logger::info |
( |
fmt::format_string< Args... > | format, |
|
|
Args &&... | args ) |
|
inline |
记录 INFO 级别日志
- 模板参数
-
- 参数
-
| [in] | format | 格式化字符串 |
| [in] | args | 可变参数包 |
◆ info() [2/2]
| void rm::Logger::info |
( |
std::string_view | msg | ) |
|
|
inline |
◆ level()
◆ log()
| void rm::Logger::log |
( |
LogLevel | level, |
|
|
std::string_view | msg ) |
◆ pendingBytes()
| std::size_t rm::Logger::pendingBytes |
( |
| ) |
const |
|
nodiscardnoexcept |
获取当前尚未持久化的日志字节数
- 返回
- 尚未持久化的日志字节数
◆ setLevel()
| void rm::Logger::setLevel |
( |
LogLevel | level | ) |
|
|
noexcept |
◆ warn() [1/2]
template<typename... Args>
| void rm::Logger::warn |
( |
fmt::format_string< Args... > | format, |
|
|
Args &&... | args ) |
|
inline |
记录 WARN 级别日志
- 模板参数
-
- 参数
-
| [in] | format | 格式化字符串 |
| [in] | args | 可变参数包 |
◆ warn() [2/2]
| void rm::Logger::warn |
( |
std::string_view | msg | ) |
|
|
inline |