RMVL  2.5.0-dev
Robotic Manipulation and Vision Library
载入中...
搜索中...
未找到
rm::Logger类 参考

异步线程安全日志器 更多...

#include <rmvl/logger.hpp>

rm::Logger 的协作图:

Public 成员函数

 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
 获取日志后端累计发生的错误数

静态 Public 成员函数

static Loggerbasic ()
 获取进程内默认 stdout 日志器

详细描述

异步线程安全日志器

日志先进入内存队列,再由内部工作线程写入指定后端。文件、串口和 UDP 后端会在达到缓存阈值、定时器到期或调用 flush() 时持久化。

构造及析构函数说明

◆ Logger() [1/3]

rm::Logger::Logger ( )

创建 stdout 日志器

◆ Logger() [2/3]

rm::Logger::Logger ( LoggerOptions options)
explicit

使用指定公共配置创建 stdout 日志器

参数
[in]options日志器公共配置

◆ Logger() [3/3]

template<typename SinkType>
rm::Logger::Logger ( SinkType sink,
LoggerOptions options = {} )
inline

使用指定日志后端和公共配置创建日志器

模板参数
SinkType满足 sink_write 和 sink_flush 定制点的后端类型
参数
[in]sink日志后端
[in]options日志器公共配置

◆ ~Logger()

rm::Logger::~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 级别日志

模板参数
Args可变参数包
参数
[in]format格式化字符串
[in]args可变参数包
函数调用图:

◆ critical() [2/2]

void rm::Logger::critical ( std::string_view msg)
inline

记录 CRITICAL 级别日志

参数
[in]msg日志消息
函数调用图:

◆ debug() [1/2]

template<typename... Args>
void rm::Logger::debug ( fmt::format_string< Args... > format,
Args &&... args )
inline

记录 DEBUG 级别日志

模板参数
Args可变参数包
参数
[in]format格式化字符串
[in]args可变参数包
函数调用图:

◆ debug() [2/2]

void rm::Logger::debug ( std::string_view msg)
inline

记录 DEBUG 级别日志

参数
[in]msg日志消息
函数调用图:

◆ 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 级别日志

模板参数
Args可变参数包
参数
[in]format格式化字符串
[in]args可变参数包
函数调用图:

◆ error() [2/2]

void rm::Logger::error ( std::string_view msg)
inline

记录 ERROR 级别日志

参数
[in]msg日志消息
函数调用图:

◆ flush()

void rm::Logger::flush ( )

阻塞等待队列中的日志全部持久化

函数调用图:

◆ info() [1/2]

template<typename... Args>
void rm::Logger::info ( fmt::format_string< Args... > format,
Args &&... args )
inline

记录 INFO 级别日志

模板参数
Args可变参数包
参数
[in]format格式化字符串
[in]args可变参数包
函数调用图:

◆ info() [2/2]

void rm::Logger::info ( std::string_view msg)
inline

记录 INFO 级别日志

参数
[in]msg日志消息
函数调用图:

◆ level()

LogLevel rm::Logger::level ( ) const
nodiscardnoexcept

获取最低输出级别

返回
最低输出级别

◆ log()

void rm::Logger::log ( LogLevel level,
std::string_view msg )

记录指定级别的日志

参数
[in]level日志级别
[in]msg日志消息
函数调用图:

◆ pendingBytes()

std::size_t rm::Logger::pendingBytes ( ) const
nodiscardnoexcept

获取当前尚未持久化的日志字节数

返回
尚未持久化的日志字节数
函数调用图:

◆ setLevel()

void rm::Logger::setLevel ( LogLevel level)
noexcept

设置最低输出级别

参数
[in]level最低输出级别
函数调用图:

◆ warn() [1/2]

template<typename... Args>
void rm::Logger::warn ( fmt::format_string< Args... > format,
Args &&... args )
inline

记录 WARN 级别日志

模板参数
Args可变参数包
参数
[in]format格式化字符串
[in]args可变参数包
函数调用图:

◆ warn() [2/2]

void rm::Logger::warn ( std::string_view msg)
inline

记录 WARN 级别日志

参数
[in]msg日志消息
函数调用图: