查看源代码 rb (sasl v4.2.2)

报告浏览器工具

报告浏览器 (RB) 工具用于浏览和格式化由错误日志处理器 log_mf_h 在 STDLIB 中写入的错误报告。

摘要

函数

等价于 filter/2

显示与提供的过滤器匹配的报告。

显示所有与正则表达式 RegExp 匹配的报告。RegExp 可以是以下任何一种

h()

等价于 help()

显示在线帮助信息。

等价于 list(all)

列出 rb_server 中加载的所有报告。每个报告都会被赋予一个唯一的编号,该编号可以在函数 show/1 中用作报告的引用。

等价于 log_list(all)

与函数 list/0list/1 相同,但结果会打印到日志文件中(如果已设置);否则打印到 standard_io

等价于 rescan([])

重新扫描报告目录。Options 与函数 start/1 的相同。

显示所有报告。

如果参数 Report 被指定为 type() 的某个值,则显示所有加载的该类型的报告。如果 Report 被指定为一个整数,则显示具有此引用编号的报告。

等价于 start([])

函数 start/1 使用指定的选项启动 rb_server,而函数 start/0 使用默认选项启动。

将 RB 工具的所有报告输出重定向到指定的文件、注册名称或 io_device

停止 rb_server

关闭日志文件。RB 工具的输出将定向到 standard_io

类型

-type filter() ::
          {Key :: term(), Value :: term()} |
          {Key :: term(), Value :: term(), no} |
          {Key :: term(), RegExp :: regexp(), re} |
          {Key :: term(), RegExp :: regexp(), re, no}.
-type option() ::
          {start_log, FileName :: string() | atom() | pid()} |
          {max, MaxNoOfReports :: integer() | all} |
          {report_dir, DirString :: string()} |
          {type, ReportType :: type() | [type()] | all} |
          {abort_on_error, boolean()}.
-type regexp() ::
          string() |
          {string(), Options :: [re:options()]} |
          re:mp() |
          {re:mp(), Options :: [re:compile_options()]}.
-type type() ::
          error | error_report | info_msg | info_report | warning_msg | warning_report | crash_report |
          supervisor_report | progress | all.

函数

链接到此函数

filter(Filters)

查看源代码 (自 OTP R13B04 起)
-spec filter(Filters) -> term() when Filters :: [filter()].

等价于 filter/2

链接到此函数

filter(Filters, Dates)

查看源代码 (自 OTP R13B04 起)
-spec filter(Filters, Dates) -> term()
                when
                    Filters :: [filter()],
                    Dates :: {DateFrom, DateTo} | {DateFrom, from} | {DateTo, to},
                    DateFrom :: calendar:datetime(),
                    DateTo :: calendar:datetime().

显示与提供的过滤器匹配的报告。

当过滤器包含 no 原子时,它会排除与该过滤器匹配的报告。

使用 STDLIB 中的 proplists 模块匹配报告。该报告必须是一个属性列表才能与任何过滤器进行匹配。

如果过滤器具有 {Key, RegExp, re} 的形式,则报告必须包含一个键等于 Key 的元素,并且该值必须与正则表达式 RegExp 匹配。

如果指定了参数 Dates,则会根据报告发生的时间对报告进行筛选。如果 Dates 具有 {DateFrom, from} 的形式,则会显示在 DateFrom 之后发生的报告。

如果 Dates 具有 {DateTo, to} 的形式,则会显示在 DateTo 之前发生的报告。

如果指定了两个 Dates,则会返回在这些日期之间发生的报告。

若要仅按日期进行筛选,请将空列表指定为 Filters 参数。

有关参数 RegExp 的详细信息,请参见 rb:grep/1

有关数据类型 mp() 的详细信息,请参见 re:mp/0

有关数据类型 datetime() 的详细信息,请参见 calendar:datetime/0

-spec grep(RegExp :: regexp()) -> term().

显示所有与正则表达式 RegExp 匹配的报告。RegExp 可以是以下任何一种

  • 包含正则表达式的字符串
  • 包含字符串和编译选项的元组
  • 编译的正则表达式
  • 编译的正则表达式和运行它的选项

有关有效正则表达式和选项的定义,请参见 STDLIB 中的 re 模块,特别是函数 re:run/3

有关数据类型 mp() 的详细信息,请参见 re:mp/0

-spec h() -> term().

等价于 help()

-spec help() -> term().

显示在线帮助信息。

-spec list() -> term().

等价于 list(all)

-spec list(Type :: type()) -> term().

列出 rb_server 中加载的所有报告。每个报告都会被赋予一个唯一的编号,该编号可以在函数 show/1 中用作报告的引用。

如果未指定 Type,则会列出所有报告。

链接到此函数

log_list()

查看源代码 (自 OTP R16B02 起)
-spec log_list() -> term().

等价于 log_list(all)

链接到此函数

log_list(Type)

查看源代码 (自 OTP R16B02 起)
-spec log_list(Type :: type()) -> term().

与函数 list/0list/1 相同,但结果会打印到日志文件中(如果已设置);否则打印到 standard_io

如果未指定 Type,则会列出所有报告。

-spec rescan() -> term().

等价于 rescan([])

-spec rescan(Options) -> term() when Options :: [option()].

重新扫描报告目录。Options 与函数 start/1 的相同。

-spec show() -> term().

显示所有报告。

-spec show(Report) -> term() when Report :: integer() | type().

如果参数 Report 被指定为 type() 的某个值,则显示所有加载的该类型的报告。如果 Report 被指定为一个整数,则显示具有此引用编号的报告。

-spec start() -> term().

等价于 start([])

-spec start(Options) -> term() when Options :: [option()].

函数 start/1 使用指定的选项启动 rb_server,而函数 start/0 使用默认选项启动。

必须先启动 rb_server 才能浏览报告。当启动 rb_server 时,会扫描指定目录中的文件。其他函数假定服务器已启动。

选项

  • {start_log, FileName} - 开始记录到文件、注册名称或 io_device。所有报告都会打印到指定的目的地。默认为 standard_io。不允许使用选项 {start_log, standard_error},它将被替换为默认的 standard_io

  • {max, MaxNoOfReports} - 控制 rb_server 在启动时要读取的报告数量。此选项非常有用,因为该目录可能包含大量报告。如果指定此选项,则会读取最新的 MaxNoOfReports 个报告。默认为 all

  • {report_dir, DirString} - 定义错误日志文件所在的目录。默认值为应用程序环境变量 error_logger_mf_dir 指定的目录,请参见 sasl(6)

  • {type, ReportType} - 控制 rb_server 在启动时要读取的报告类型。ReportType 是支持的类型、all 或支持类型的列表。默认为 all

  • {abort_on_error, Bool} - 指定如果 rb 遇到不可打印的报告,是否要结束日志记录。(如果使用无效的格式字符串调用了函数 error_loggererror_msginfo_msg,您可能会收到格式不正确的报告)

    • 如果 Booltrue,则如果 rb 遇到格式错误的报告,它会停止日志记录(并在 stdout 上打印错误消息)。如果启用了日志记录到文件,则还会将错误消息附加到日志文件中。
    • 如果 Boolfalse(默认值),则 rb 会为它遇到的每个错误报告在 stdout 上打印错误消息,但日志记录过程永远不会结束。将写入所有可打印的报告。如果启用了日志记录到文件,则 rb 会在日志文件中不可打印报告的位置打印 * UNPRINTABLE REPORT *
-spec start_log(FileName) -> term() when FileName :: string() | atom() | pid().

将 RB 工具的所有报告输出重定向到指定的文件、注册名称或 io_device

-spec stop() -> term().

停止 rb_server

-spec stop_log() -> term().

关闭日志文件。RB 工具的输出将定向到 standard_io