.TH sasl 7 "sasl 4.2" "Ericsson AB" "Erlang Application Definition" .SH NAME sasl \- The SASL application .SH DESCRIPTION .LP The SASL application provides the following services: .RS 2 .TP 2 * \fIalarm_handler\fR\& .LP .TP 2 * \fIrelease_handler\fR\& .LP .TP 2 * \fIsystools\fR\& .LP .RE .LP .RS -4 .B Note: .RE The SASL application in OTP has nothing to do with "Simple Authentication and Security Layer" (RFC 4422)\&. .SH "CONFIGURATION" .LP The following configuration parameters are defined for the SASL application\&. For more information about configuration parameters, see \fIapp(5)\fR\& in Kernel\&. .LP All configuration parameters are optional\&. .RS 2 .TP 2 .B \fIstart_prg = string() \fR\&: Specifies the program to be used when restarting the system during release installation\&. Default is \fI$OTP_ROOT/bin/start\fR\&\&. .TP 2 .B \fImasters = [atom()] \fR\&: Specifies the nodes used by this node to read/write release information\&. This parameter is ignored if parameter \fIclient_directory\fR\& is not set\&. .TP 2 .B \fIclient_directory = string() \fR\&: This parameter specifies the client directory at the master nodes\&. For details, see Release Handling in \fIOTP Design Principles\fR\&\&. This parameter is ignored if parameter \fImasters\fR\& is not set\&. .TP 2 .B \fIstatic_emulator = true | false \fR\&: Indicates if the Erlang emulator is statically installed\&. A node with a static emulator cannot switch dynamically to a new emulator, as the executable files are written into memory statically\&. This parameter is ignored if parameters \fImasters\fR\& and \fIclient_directory\fR\& are not set\&. .TP 2 .B \fIreleases_dir = string() \fR\&: Indicates where the \fIreleases\fR\& directory is located\&. The release handler writes all its files to this directory\&. If this parameter is not set, the OS environment parameter \fIRELDIR\fR\& is used\&. By default, this is \fI$OTP_ROOT/releases\fR\&\&. .RE .SH "DEPRECATED ERROR LOGGER EVENT HANDLERS AND CONFIGURATION" .LP In Erlang/OTP 21\&.0, a new API for logging was added\&. The old \fIerror_logger\fR\& event manager, and event handlers running on this manager, still work, but they are not used by default\&. .LP The error logger event handlers \fIsasl_report_tty_h\fR\& and \fIsasl_report_file_h\fR\&, were earlier used for printing the so called SASL reports, i\&.e\&. \fIsupervisor reports\fR\&, \fIcrash reports\fR\&, and \fIprogress reports\fR\&\&. These reports are now also printed by the default logger handler started by the Kernel application\&. Progress reports are by default stopped by the primary log level, but can be enabled by setting this level to \fIinfo\fR\&, for example by using the Kernel configuration parameter \fIlogger_level\fR\&\&. .LP If the old error logger event handlers are still desired, they must be added by calling \fIerror_logger:add_report_handler/1,2\fR\&\&. .RS 2 .TP 2 .B \fIsasl_report_tty_h\fR\&: Formats and writes \fIsupervisor reports\fR\&, \fIcrash reports\fR\&, and \fIprogress reports\fR\& to \fIstdio\fR\&\&. This error logger event handler uses \fIerror_logger_format_depth\fR\& in the Kernel application to limit how much detail is printed in crash and supervisor reports\&. .TP 2 .B \fIsasl_report_file_h\fR\&: Formats and writes \fIsupervisor reports\fR\&, \fIcrash report\fR\&, and \fIprogress report\fR\& to a single file\&. This error logger event handler uses \fIerror_logger_format_depth\fR\& in the Kernel application to limit the details printed in crash and supervisor reports\&. .RE .LP A similar behaviour, but still using the new logger API, can be obtained by setting the Kernel application environment variable \fIlogger_sasl_compatible\fR\& to \fItrue\fR\&\&. This adds a second instance of the standard Logger handler, named \fIsasl\fR\&, which only prints the SASL reports\&. No SASL reports are then printed by the Kernel logger handler\&. .LP The \fIsasl\fR\& handler is configured according to the values of the following SASL application environment variables\&. .RS 2 .TP 2 .B \fIsasl_error_logger = Value \fR\&: \fIValue\fR\& is one of the following: .RS 2 .TP 2 .B \fItty\fR\&: Installs \fIsasl_report_tty_h\fR\& in the error logger\&. This is the default option\&. .TP 2 .B \fI{file,FileName}\fR\&: Installs \fIsasl_report_file_h\fR\& in the error logger\&. All reports go to file \fIFileName\fR\&, which is a string\&. The file is opened in \fIwrite\fR\& mode with encoding \fIutf8\fR\&\&. .TP 2 .B \fI{file,FileName,Modes}\fR\&: Same as \fI{file,FileName}\fR\&, except that \fIModes\fR\& allows you to specify the modes used for opening the \fIFileName\fR\& given to the file:open/2 call\&. By default, the file is opened in \fIwrite\fR\& mode with encoding \fIutf8\fR\&\&. Use \fI[append]\fR\& to have the \fIFileName\fR\& open in append mode\&. A different encoding can also be specified\&. \fIFileName\fR\& is a string\&. .TP 2 .B \fIfalse\fR\&: No SASL error logger handler is installed\&. .RE .TP 2 .B \fIerrlog_type = error | progress | all \fR\&: Restricts the error logging performed by the specified \fIsasl_error_logger\fR\& to error reports or progress reports, or both\&. Default is \fIall\fR\&\&. .TP 2 .B \fIutc_log = true | false \fR\&: If set to \fItrue\fR\&, all dates in textual log outputs are displayed in Universal Coordinated Time with the string \fIUTC\fR\& appended\&. .RE .LP The error logger event handler \fIlog_mf_h\fR\& can also still be used\&. This event handler writes \fIall\fR\& events sent to the error logger to disk\&. Multiple files and log rotation are used\&. For efficiency reasons, each event is written as a binary\&. For more information about this handler, see the STDLIB Reference Manual\&. .LP To activate this event handler, three SASL configuration parameters must be set: .RS 2 .TP 2 .B \fIerror_logger_mf_dir = string() | false \fR\&: Specifies in which directory \fIlog_mf_h\fR\& is to store its files\&. If this parameter is undefined or \fIfalse\fR\&, the \fIlog_mf_h\fR\& handler is not installed\&. .TP 2 .B \fIerror_logger_mf_maxbytes = integer() \fR\&: Specifies the maximum size of each individual file written by \fIlog_mf_h\fR\&\&. If this parameter is undefined, the \fIlog_mf_h\fR\& handler is not installed\&. .TP 2 .B \fIerror_logger_mf_maxfiles = 0