diff options
| author | Siri Hansen <[email protected]> | 2018-04-27 10:13:17 +0200 | 
|---|---|---|
| committer | Siri Hansen <[email protected]> | 2018-04-27 10:13:17 +0200 | 
| commit | 56e88f364a32b471b03e2364c2eb84783642ad88 (patch) | |
| tree | 1e5250d3b503eb8593635bc1c8a7a6a31a3ad6e4 /lib/sasl/doc/src | |
| parent | 0aa02c13f0d213da983bc01cab8be737e7aa751a (diff) | |
| parent | ee44197422710dabe43f2f4b80d1034aae9c916f (diff) | |
| download | otp-56e88f364a32b471b03e2364c2eb84783642ad88.tar.gz otp-56e88f364a32b471b03e2364c2eb84783642ad88.tar.bz2 otp-56e88f364a32b471b03e2364c2eb84783642ad88.zip | |
Merge branch 'siri/kernel/logger/OTP-13295'
* siri/kernel/logger/OTP-13295:
  Add documentation of the built-in logger handlers
  Catch badarg in logger:get_format_depth/0
  Add chars_limit option to logger_formatter
  Don't kill logger process until all other processes are dead
  Set call timeout for logger_server to infinity
  Update primary bootstrap
  Test cuddle for logger
  Update cth_log_redirect to a logger handler
  Start using logger internally in kernel and stdlib
  Remove error_logger process and add logger process
  Add logger
Diffstat (limited to 'lib/sasl/doc/src')
| -rw-r--r-- | lib/sasl/doc/src/sasl_app.xml | 183 | 
1 files changed, 107 insertions, 76 deletions
| diff --git a/lib/sasl/doc/src/sasl_app.xml b/lib/sasl/doc/src/sasl_app.xml index e0693fcb60..48b0b8eafb 100644 --- a/lib/sasl/doc/src/sasl_app.xml +++ b/lib/sasl/doc/src/sasl_app.xml @@ -34,12 +34,9 @@      <p>The SASL application provides the following services:</p>      <list type="bulleted">        <item><c>alarm_handler</c></item> -      <item><c>rb</c></item>        <item><c>release_handler</c></item>        <item><c>systools</c></item>      </list> -    <p>The SASL application also includes <c>error_logger</c> event -      handlers for formatting SASL error and crash reports.</p>      <note>         <p>The SASL application in OTP has nothing to do with            "Simple Authentication and Security Layer" (RFC 4422).</p> @@ -47,51 +44,109 @@    </description>    <section> -    <title>Error Logger Event Handlers</title> -    <p>The following error logger event handlers are used by -      the SASL application.</p> +    <title>Configuration</title> +    <p>The following configuration parameters are defined for the SASL +      application. For more information about configuration parameters, see +      <seealso marker="kernel:app"><c>app(4)</c></seealso> in Kernel.</p> +    <p>All configuration parameters are optional.</p> +    <taglist> +      <tag><c><![CDATA[start_prg = string() ]]></c></tag> +      <item> +        <p>Specifies the program to be used when restarting the system +          during release installation. Default is +          <c>$OTP_ROOT/bin/start</c>.</p> +      </item> +      <tag><c><![CDATA[masters = [atom()] ]]></c></tag> +      <item> +        <p>Specifies the nodes used by this node to read/write release +          information. This parameter is ignored if parameter +          <c>client_directory</c> is not set.</p> +      </item> +      <tag><c><![CDATA[client_directory = string() ]]></c></tag> +      <item> +        <p>This parameter specifies the client directory at the master +          nodes. For details, see +          <seealso marker="doc/design_principles:release_handling">Release Handling</seealso> +          in <em>OTP Design Principles</em>. This parameter is +          ignored if parameter <c>masters</c> is not set.</p> +      </item> +      <tag><c><![CDATA[static_emulator = true | false ]]></c></tag> +      <item> +        <p>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 <c>masters</c> +          and <c>client_directory</c> are not set.</p> +      </item> +      <tag><c><![CDATA[releases_dir = string() ]]></c></tag> +      <item> +        <p>Indicates where the <c>releases</c> directory is located. +          The release handler writes all its files to this directory. +          If this parameter is not set, the OS environment parameter +          <c>RELDIR</c> is used. By default, this is +          <c>$OTP_ROOT/releases</c>.</p> +      </item> +      <tag><c><![CDATA[utc_log = true | false ]]></c></tag> +      <item> +        <p>If set to <c>true</c>, all dates in textual log outputs are +          displayed in Universal Coordinated Time with the string +          <c>UTC</c> appended.</p> +      </item> +    </taglist> +  </section> + +  <section> +    <title>Deprecated Error Logger Event Handlers and Configuration</title> +    <p>In OTP-21, a new API for logging was added to Erlang/OTP. The +      old <c>error_logger</c> event manager, and event handlers +      running on this manager, will still work, but they are not used +      by default.</p> +    <p>The error logger event handlers <c>sasl_report_tty_h</c> +      and <c>sasl_report_file_h</c>, were earliger used for printing +      the so called SASL reports, i.e. <em>supervisor +      reports</em>, <em>crash reports</em>, and <em>progress +      reports</em>. These reports are now also printed by the standard +      logger handler started by the Kernel application. Progress +      reports are by default stopped by a filter, but can easily be +      added by setting the Kernel configuration +      parameter <seealso marker="kernel:kernel_app#logger_log_progress"><c>logger_log_progress=true</c></seealso>.</p> +    <p>If the old error logger event handlers are still desired, they +      must be added by +      calling <c>error_logger:add_report_handler/1,2</c>.</p>      <taglist>        <tag><c>sasl_report_tty_h</c></tag>        <item>          <p>Formats and writes <em>supervisor reports</em>, <em>crash          reports</em>, and <em>progress reports</em> to <c>stdio</c>.          This error logger event handler uses -	<seealso marker="kernel:kernel_app#error_logger_format_depth">error_logger_format_depth</seealso> -	in the Kernel application to limit how much detail is -        printed in crash and supervisor reports.</p> +	<seealso marker="kernel:kernel_app#logger_format_depth"><c>logger_format_depth</c></seealso> +	in the Kernel application to limit how much detail is printed +	in crash and supervisor reports. If <c>logger_format_depth</c> +	is not set, it uses the old <c>error_logger_format_depth</c> +	instead.</p>        </item>        <tag><c>sasl_report_file_h</c></tag>        <item>          <p>Formats and writes <em>supervisor reports</em>, <em>crash          report</em>, and <em>progress report</em> to a single file.          This error logger event handler uses -	<seealso marker="kernel:kernel_app#error_logger_format_depth">error_logger_format_depth</seealso> -	in the Kernel application to limit the details -        printed in crash and supervisor reports.</p> -      </item> -      <tag><c>log_mf_h</c></tag> -      <item> -        <p>This error logger writes <em>all</em> 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 <seealso marker="stdlib:log_mf_h">the STDLIB Reference -          Manual</seealso>.</p> -        <p>To activate this event handler, three SASL -          configuration parameters must be set, -          <c>error_logger_mf_dir</c>, <c>error_logger_mf_maxbytes</c>, -          and <c>error_logger_mf_maxfiles</c>. The next section provides -          more information about the configuration parameters.</p> +	<seealso marker="kernel:kernel_app#logger_format_depth"><c>logger_format_depth</c></seealso> +	in the Kernel application to limit the details printed in +	crash and supervisor reports. If <c>logger_format_depth</c> is +	not set, it uses the old <c>error_logger_format_depth</c> +	instead.</p>        </item>      </taglist> -  </section> - -  <section> -    <title>Configuration</title> -    <p>The following configuration parameters are defined for the SASL -      application. For more information about configuration parameters, see -      <seealso marker="kernel:app"><c>app(4)</c></seealso> in Kernel.</p> -    <p>All configuration parameters are optional.</p> +    <p>A similar behaviour, but still using the new logger API, can be +      obtained by setting the Kernel application environment +      variable <seealso marker="kernel:kernel_app#logger_sasl_compatible"><c>logger_sasl_compatible=true</c></seealso>. This will add a +      second instance of the standard logger handler +      named <c>sasl_h</c>, which will only print the SASL reports. No +      SASL reports will then be printed by the Kernel logger +      handler.</p> +    <p>The <c>sasl_h</c> handler will be configured according to the +      values of the following SASL application environment +      variables.</p>      <taglist>        <tag><c><![CDATA[sasl_error_logger = Value ]]></c></tag>        <item> @@ -124,6 +179,19 @@            <c>sasl_error_logger</c> to error reports or progress reports,            or both. Default is <c>all</c>.</p>        </item> +    </taglist> + +    <p>The error logger event handler <c>log_mf_h</c> can also still +      be used. This event handler writes <em>all</em> 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 <seealso marker="stdlib:log_mf_h">the STDLIB Reference +      Manual</seealso>.</p> +    <p>To activate this event handler, three SASL configuration +      parameters must be +      set:</p> +    <taglist>        <tag><c><![CDATA[error_logger_mf_dir = string() | false ]]></c></tag>        <item>          <p>Specifies in which directory <c>log_mf_h</c> is to store @@ -142,49 +210,12 @@            this parameter is undefined, the <c>log_mf_h</c> handler is            not installed.</p>        </item> -      <tag><c><![CDATA[start_prg = string() ]]></c></tag> -      <item> -        <p>Specifies the program to be used when restarting the system -          during release installation. Default is -          <c>$OTP_ROOT/bin/start</c>.</p> -      </item> -      <tag><c><![CDATA[masters = [atom()] ]]></c></tag> -      <item> -        <p>Specifies the nodes used by this node to read/write release -          information. This parameter is ignored if parameter -          <c>client_directory</c> is not set.</p> -      </item> -      <tag><c><![CDATA[client_directory = string() ]]></c></tag> -      <item> -        <p>This parameter specifies the client directory at the master -          nodes. For details, see -          <seealso marker="doc/design_principles:release_handling">Release Handling</seealso> -          in <em>OTP Design Principles</em>. This parameter is -          ignored if parameter <c>masters</c> is not set.</p> -      </item> -      <tag><c><![CDATA[static_emulator = true | false ]]></c></tag> -      <item> -        <p>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 <c>masters</c> -          and <c>client_directory</c> are not set.</p> -      </item> -      <tag><c><![CDATA[releases_dir = string() ]]></c></tag> -      <item> -        <p>Indicates where the <c>releases</c> directory is located. -          The release handler writes all its files to this directory. -          If this parameter is not set, the OS environment parameter -          <c>RELDIR</c> is used. By default, this is -          <c>$OTP_ROOT/releases</c>.</p> -      </item> -      <tag><c><![CDATA[utc_log = true | false ]]></c></tag> -      <item> -        <p>If set to <c>true</c>, all dates in textual log outputs are -          displayed in Universal Coordinated Time with the string -          <c>UTC</c> appended.</p> -      </item>      </taglist> +    <p>The new <seealso marker="kernel:logger_disk_log_h"> +	<c>logger_disk_log_h</c></seealso> might be an alternative +      to <c>log_mf_h</c> if log rotation is desired. This does, +      however, write the log events in clear text and not as binaries.</p> +    </section>    <section> | 
