查看源代码 SASL 应用
描述
SASL 应用提供以下服务
alarm_handler
release_handler
systools
注意
OTP 中的 SASL 应用与“简单身份验证和安全层”(RFC 4422)无关。
配置
为 SASL 应用定义了以下配置参数。有关配置参数的更多信息,请参阅 Kernel 中的 app(4)
。
所有配置参数都是可选的。
start_prg = string()
- 指定在发布安装期间重新启动系统时要使用的程序。默认为$OTPROOT/bin/start
。masters = [atom()]
- 指定此节点用于读取/写入发布信息的节点。如果未设置参数client_directory
,则忽略此参数。client_directory = string()
- 此参数指定主节点上的客户端目录。有关详细信息,请参阅 OTP 设计原则中的发布处理。如果未设置参数masters
,则忽略此参数。static_emulator = true | false
- 指示 Erlang 虚拟机是否是静态安装的。具有静态虚拟机的节点无法动态切换到新的虚拟机,因为可执行文件是静态写入内存的。如果未设置参数masters
和client_directory
,则忽略此参数。releases_dir = string()
- 指示releases
目录所在的位置。发布处理程序将其所有文件写入此目录。如果未设置此参数,则使用 OS 环境变量参数RELDIR
。默认情况下,这是$OTPROOT/releases
。
已弃用的错误日志事件处理程序和配置
在 Erlang/OTP 21.0 中,添加了一个新的日志记录 API。旧的 error_logger
事件管理器和在此管理器上运行的事件处理程序仍然有效,但默认情况下不使用它们。
错误日志事件处理程序 sasl_report_tty_h
和 sasl_report_file_h
之前用于打印所谓的 SASL 报告,即主管报告、崩溃报告和进度报告。现在,这些报告也由 Kernel 应用启动的默认日志处理程序打印。默认情况下,主日志级别会停止进度报告,但可以通过将此级别设置为 info
来启用,例如使用 Kernel 配置参数 logger_level
。
如果仍然需要旧的错误日志事件处理程序,则必须通过调用 error_logger:add_report_handler/1,2
来添加它们。
sasl_report_tty_h
- 格式化并将主管报告、崩溃报告和进度报告写入stdio
。此错误日志事件处理程序使用 Kernel 应用中的error_logger_format_depth
来限制崩溃和主管报告中打印的详细信息量。sasl_report_file_h
- 格式化并将主管报告、崩溃报告和进度报告写入单个文件。此错误日志事件处理程序使用 Kernel 应用中的error_logger_format_depth
来限制崩溃和主管报告中打印的详细信息。
通过将 Kernel 应用环境变量 logger_sasl_compatible
设置为 true
,可以获得类似的行为,但仍使用新的日志记录 API。这将添加标准 Logger 处理程序的第二个实例,名为 sasl
,它仅打印 SASL 报告。然后,Kernel 日志处理程序不会打印任何 SASL 报告。
sasl
处理程序根据以下 SASL 应用环境变量的值进行配置。
sasl_error_logger = Value
-Value
是以下之一tty
- 在错误日志中安装sasl_report_tty_h
。这是默认选项。{file,FileName}
- 在错误日志中安装sasl_report_file_h
。所有报告都将发送到文件FileName
,这是一个字符串。该文件以utf8
编码的write
模式打开。{file,FileName,Modes}
- 与{file,FileName}
相同,不同之处在于Modes
允许您指定用于打开file:open/2
调用给出的FileName
的模式。默认情况下,该文件以utf8
编码的write
模式打开。使用[append]
使FileName
在追加模式下打开。也可以指定不同的编码。FileName
是一个字符串。false
- 不安装 SASL 错误日志处理程序。
errlog_type = error | progress | all
- 将指定的sasl_error_logger
执行的错误日志记录限制为错误报告或进度报告,或两者都限制。默认为all
。utc_log = true | false
- 如果设置为true
,则文本日志输出中的所有日期都将以协调世界时显示,并附加字符串UTC
。
错误日志事件处理程序 log_mf_h
仍然可以使用。此事件处理程序将发送到错误日志的所有事件写入磁盘。使用多个文件和日志轮换。出于效率原因,每个事件都以二进制形式写入。有关此处理程序的更多信息,请参阅STDLIB 参考手册。
要激活此事件处理程序,必须设置三个 SASL 配置参数
error_logger_mf_dir = string() | false
- 指定log_mf_h
将其文件存储在哪个目录中。如果此参数未定义或为false
,则不安装log_mf_h
处理程序。error_logger_mf_maxbytes = integer()
- 指定log_mf_h
写入的每个文件的最大大小。如果未定义此参数,则不安装log_mf_h
处理程序。error_logger_mf_maxfiles = 0<integer()<256
- 指定log_mf_h
使用的文件数。如果未定义此参数,则不安装log_mf_h
处理程序。
如果需要日志轮换,新的 logger_disk_log_h
可能是 log_mf_h
的替代方案。但是,这将以纯文本形式写入日志事件,而不是二进制形式。
另请参阅
alarm_handler
, error_logger
, logger
, log_mf_h
, rb
, release_handler
, systools