Logging 包概述
此章节包含 Julia 中和 logging 相关的一些包的概述。大部分的包和来自 Base
的标准 logging 前端宏 @debug
,@info
,@warn
, @error
及 Logging.jl 标注库提供的抽象整合在一起。
如果一些 logging 相关的包不在下列列表中,不要犹豫,请立刻把它添加进来。 (译注:请至原文添加)。
Logging.jl
Logging 标准库提供了很多 logging 基础设施,大多数其他的 logging 包都建立在它的基础上。Logging 提供了global_logger
和 with_logger
来设置全局/局部(global/local)日志记录器,AbstractLogger
接口及以下三个记录器:
ConsoleLogger
: Julia REPL 中的默认记录器SimpleLogger
:ConsoleLogger
的基础版NullLogger
: 等同于/dev/null
的记录器.
Logging 的功能被用于本文档中的大部分教程及 How-to。
详细信息请查看 Logging API reference。
LoggingExtras.jl
LoggingExtras 包提供了一些 Logging 标准库的必要扩展。例如用于消息过滤的记录器: MinLevelLogger
, EarlyFilteredLogger
, ActiveFilteredLogger
;用于任意消息转换的 TransformerLogger
;用于消息路由的 TeeLogger
; 以及三个不同的记录器接收器(logger sink):用于记录到磁盘文件的 FileLogger
,用于自定义日志输出格式的 FormatLogger
, 以及用于根据日期轮换记录到磁盘文件的 DatetimeRotatingFileLogger
。
LoggingExtras 的功能被用于大部分的 How-to 指南,因此,请参考这些示例。
详细信息请查看 LoggingExtras API reference。
LoggingFormats.jl
LoggingFormats 包提供了一些预定义的日志格式,用于和 LoggingExtras.jl
包中的 FormatLogger
, DatetimeRotatingFileLogger
一起使用:
LoggingFormats.JSON
: 输出序列化为 JSON 格式的日志消息。LoggingFormats.LogFmt
: 输出格式化为 logfmt 格式的日志消息。LoggingFormats.Truncated
: 类似ConsoleLogger
的格式, 但是长消息会被截断。
详细信息请查看 LoggingFormats API reference。
TerminalLoggers.jl
TerminalLoggers 包提供了 TerminalLogger
,它是更高级的的记录器,提供日志记录基于终端的漂亮输出。特别是它支持 Markdown 格式的日志消息,以及进度条(建立在 ProgressLogging 包之上)。
详细信息请查看 TerminalLoggers API reference。
ProgressLogging.jl
ProgressLogging 包提供了一些很方便的前端宏,包括使跟踪循环结构进度的日志记录变得更简单的 @progress
。
详细信息请查看 ProgressLogging API reference。
LogRoller.jl
LogRoller 包提供了当日志文件达到大小限制时轮换日志文件的功能。特别是 IO
RollingFileWriter
(可以和其他的记录器组合使用) 以及 RollingLogger
.
详细信息请查看 LogRoller API reference。
SyslogLogging.jl
SyslogLogging 包提供了 SyslogLogger
,它会把消息写到 syslog。
详细信息请查看 SyslogLogging API reference。
Logging2.jl
Logging2 包提供了重定向 stdout
和 stderr
输出到日志系统的工具。
详细信息请查看 Logging2 API reference。
TensorBoardLogger.jl
TensorBoardLogger 包可以作为后端把结构化数值型数据记录到 TensorBoard。
LokiLogger.jl
LokiLogger 包提供了 LokiLogger.Logger
记录器,它把日志消息通过 HTTP 发送到一个 Grafana Loki 服务器。
详细信息请查看 LokiLogger API reference。
LogCompose.jl
LogCompose 包提供了声明的记录器配置和相关的 .toml
文件格式。
详细信息请查看 LogCompose API reference。
MiniLoggers.jl
MiniLoggers 包提供了 Julia 日志记录器的最小设置和简单而强大的日志字符串格式。它允许构建自定义的和紧凑的日志记录,支持色彩,输出到外部文件,时间戳等更多设置。
详细信息请查看 MiniLoggers API reference。