Erlang -- Error Logging

User's Guide
PDF
Top

System Principles
User's Guide
Version 7.3

Expand All
Contract All

Chapters

- System Principles
  - Top of chapter
  - Starting the System
  - Restarting and Stopping the System
  - Boot Scripts
  - Code Loading Strategy
  - File Types
- Error Logging
  - Top of chapter
  - Error Information From the Runtime System
  - SASL Error Logging
- Creating and Upgrading a Target System
  - Top of chapter
  - Creating a Target System
  - Installing a Target System
  - Starting a Target System
  - System Configuration Parameters
  - Differences From the Install Script
  - Creating the Next Version
  - Upgrading the Target System
  - Listing of target_system.erl
- Upgrade when Erlang/OTP has Changed
  - Top of chapter
  - Introduction
  - Upgrade of Core Applications
  - Applications that Still do Not Allow Code Upgrade
- Versions
  - Top of chapter
  - OTP Version
  - Application Version
  - Version Scheme
  - OTP 17.0 Application Versions

# 2 Error Logging

### 2.1 Error Information From the Runtime System

Error information from the runtime system, that is, information about a process terminating because of an uncaught error exception, is by default written to terminal (tty):

    =ERROR REPORT==== 9-Dec-2003::13:25:02 ===
    Error in process <0.27.0> with exit value: {{badmatch,[1,2,3]},[{m,f,1},{shell,eval_loop,2}]}

The error information is handled by the error logger, a system process registered as error_logger. This process receives all error messages from the Erlang runtime system as well as from the standard behaviours and different Erlang/OTP applications.

The exit reasons (such as badarg) used by the runtime system are described in Errors and Error Handling.

For information about the process error_logger and its user interface (with the same name), see the error_logger(3) manual page in Kernel. The system can be configured so that error information is written to file or to tty, or both. In addition, user-defined applications can send and format error information using error_logger.

### 2.2 SASL Error Logging

The standard behaviours (supervisor, gen_server, and so on) send progress and error information to error_logger. If the SASL application is started, this information is written to tty as well. For more information, see SASL Error Logging in the SASL User's Guide.

    % erl -boot start_sasl
    Erlang (BEAM) emulator version 5.4.13 [hipe] [threads:0] [kernel-poll]

    =PROGRESS REPORT==== 31-Mar-2006::12:45:58 ===
              supervisor: {local,sasl_safe_sup}
                 started: [{pid,<0.33.0>},
                           {name,alarm_handler},
                           {mfa,{alarm_handler,start_link,[]}},
                           {restart_type,permanent},
                           {shutdown,2000},
                           {child_type,worker}]

    =PROGRESS REPORT==== 31-Mar-2006::12:45:58 ===
              supervisor: {local,sasl_safe_sup}
                 started: [{pid,<0.34.0>},
                           {name,overload},
                           {mfa,{overload,start_link,[]}},
                           {restart_type,permanent},
                           {shutdown,2000},
                           {child_type,worker}]

    =PROGRESS REPORT==== 31-Mar-2006::12:45:58 ===
              supervisor: {local,sasl_sup}
                 started: [{pid,<0.32.0>},
                           {name,sasl_safe_sup},
                           {mfa,{supervisor,
                                    start_link,
                                    [{local,sasl_safe_sup},sasl,safe]}},
                           {restart_type,permanent},
                           {shutdown,infinity},
                           {child_type,supervisor}]

    =PROGRESS REPORT==== 31-Mar-2006::12:45:58 ===
              supervisor: {local,sasl_sup}
                 started: [{pid,<0.35.0>},
                           {name,release_handler},
                           {mfa,{release_handler,start_link,[]}},
                           {restart_type,permanent},
                           {shutdown,2000},
                           {child_type,worker}]

    =PROGRESS REPORT==== 31-Mar-2006::12:45:58 ===
             application: sasl
              started_at: nonode@nohost
    Eshell V5.4.13  (abort with ^G)
    1>