add_report_handler(Handler)->any()add_report_handler(Handler,Args)->Result
Types:
Handler = module()
Args = gen_event:handler_args()
Result = gen_event:add_handler_ret()
Adds a new event handler to the error logger. The event handler must be implemented as a gen_event
callback module, see gen_event(3erl).
Handler is typically the name of the callback module and Args is an optional term (defaults to [])
passed to the initialization callback function Handler:init/1. The function returns ok if
successful.
The event handler must be able to handle the events in this module, see section Events.
The first time this function is called, error_logger is added as a Logger handler, and the
error_logger process is started.
delete_report_handler(Handler)->Result
Types:
Handler = module()
Result = gen_event:del_handler_ret()
Deletes an event handler from the error logger by calling gen_event:delete_handler(error_logger,Handler,[]), see gen_event(3erl).
If no more event handlers exist after the deletion, error_logger is removed as a Logger handler,
and the error_logger process is stopped.
error_msg(Format)->okerror_msg(Format,Data)->okformat(Format,Data)->ok
Types:
Format = string()
Data = list()
Log a standard error event. The Format and Data arguments are the same as the arguments of
io:format/2 in STDLIB.
Error logger forwards the event to Logger, including metadata that allows backwards compatibility
with legacy error logger event handlers.
The event is handled by the default Logger handler.
These functions are kept for backwards compatibility and must not be used by new code. Use the
?LOG_ERROR macro or logger:error/1,2,3 instead.
Example:
1> error_logger:error_msg("An error occurred in ~p", [a_module]).
=ERROR REPORT==== 22-May-2018::11:18:43.376917 ===
An error occurred in a_module
ok
Warning:
If the Unicode translation modifier (t) is used in the format string, all event handlers must
ensure that the formatted output is correctly encoded for the I/O device.
error_report(Report)->ok
Types:
Report = report()
Log a standard error event. Error logger forwards the event to Logger, including metadata that
allows backwards compatibility with legacy error logger event handlers.
The event is handled by the default Logger handler.
This functions is kept for backwards compatibility and must not be used by new code. Use the
?LOG_ERROR macro or logger:error/1,2,3 instead.
Example:
2> error_logger:error_report([{tag1,data1},a_term,{tag2,data}]).
=ERROR REPORT==== 22-May-2018::11:24:23.699306 ===
tag1: data1
a_term
tag2: data
ok
3> error_logger:error_report("Serious error in my module").
=ERROR REPORT==== 22-May-2018::11:24:45.972445 ===
Serious error in my module
ok
error_report(Type,Report)->ok
Types:
Type = term()
Report = report()
Log a user-defined error event. Error logger forwards the event to Logger, including metadata that
allows backwards compatibility with legacy error logger event handlers.
Error logger also adds a domain field with value [Type] to this event's metadata, causing the
filters of the default Logger handler to discard the event. A different Logger handler, or an
error logger event handler, must be added to handle this event.
It is recommended that Report follows the same structure as for error_report/1.
This functions is kept for backwards compatibility and must not be used by new code. Use the
?LOG_ERROR macro or logger:error/1,2,3 instead.
get_format_depth()->unlimited|integer()>=1
Returns max(10,Depth), where Depth is the value of error_logger_format_depth in the Kernel
application, if Depth is an integer. Otherwise, unlimited is returned.
Note:
The error_logger_format_depth variable is deprecated since the Logger API was introduced in
Erlang/OTP 21.0. The variable, and this function, are kept for backwards compatibility since they
still might be used by legacy report handlers.
info_msg(Format)->okinfo_msg(Format,Data)->ok
Types:
Format = string()
Data = list()
Log a standard information event. The Format and Data arguments are the same as the arguments of
io:format/2 in STDLIB.
Error logger forwards the event to Logger, including metadata that allows backwards compatibility
with legacy error logger event handlers.
The event is handled by the default Logger handler.
These functions are kept for backwards compatibility and must not be used by new code. Use the
?LOG_INFO macro or logger:info/1,2,3 instead.
Example:
1> error_logger:info_msg("Something happened in ~p", [a_module]).
=INFO REPORT==== 22-May-2018::12:03:32.612462 ===
Something happened in a_module
ok
Warning:
If the Unicode translation modifier (t) is used in the format string, all event handlers must
ensure that the formatted output is correctly encoded for the I/O device.
info_report(Report)->ok
Types:
Report = report()
Log a standard information event. Error logger forwards the event to Logger, including metadata
that allows backwards compatibility with legacy error logger event handlers.
The event is handled by the default Logger handler.
This functions is kept for backwards compatibility and must not be used by new code. Use the
?LOG_INFO macro or logger:info/1,2,3 instead.
Example:
2> error_logger:info_report([{tag1,data1},a_term,{tag2,data}]).
=INFO REPORT==== 22-May-2018::12:06:35.994440 ===
tag1: data1
a_term
tag2: data
ok
3> error_logger:info_report("Something strange happened").
=INFO REPORT==== 22-May-2018::12:06:49.066872 ===
Something strange happened
ok
info_report(Type,Report)->ok
Types:
Type = any()
Report = report()
Log a user-defined information event. Error logger forwards the event to Logger, including
metadata that allows backwards compatibility with legacy error logger event handlers.
Error logger also adds a domain field with value [Type] to this event's metadata, causing the
filters of the default Logger handler to discard the event. A different Logger handler, or an
error logger event handler, must be added to handle this event.
It is recommended that Report follows the same structure as for info_report/1.
This functions is kept for backwards compatibility and must not be used by new code. Use the
?LOG_INFO macro or logger:info/1,2,3 instead.
logfile(Request::{open,Filename})->ok|{error,OpenReason}logfile(Request::close)->ok|{error,CloseReason}logfile(Request::filename)->Filename|{error,FilenameReason}
Types:
Filename = file:name()
OpenReason = allready_have_logfile | open_error()
CloseReason = module_not_found
FilenameReason = no_log_file
open_error() = file:posix() | badarg | system_limit
Enables or disables printout of standard events to a file.
This is done by adding or deleting the error_logger_file_h event handler, and thus indirectly
adding error_logger as a Logger handler.
Notice that this function does not manipulate the Logger configuration directly, meaning that if
the default Logger handler is already logging to a file, this function can potentially cause
logging to a second file.
This function is useful as a shortcut during development and testing, but must not be used in a
production system. See section Logging in the Kernel User's Guide, and the logger(3erl) manual
page for information about how to configure Logger for live systems.
Request is one of the following:
{open,Filename}:
Opens log file Filename. Returns ok if successful, or {error,allready_have_logfile} if
logging to file is already enabled, or an error tuple if another error occurred (for example,
if Filename cannot be opened). The file is opened with encoding UTF-8.
close:
Closes the current log file. Returns ok, or {error,module_not_found}.
filename:
Returns the name of the log file Filename, or {error,no_log_file} if logging to file is not
enabled.
tty(Flag)->ok
Types:
Flag = boolean()
Enables (Flag==true) or disables (Flag==false) printout of standard events to the terminal.
This is done by manipulating the Logger configuration. The function is useful as a shortcut during
development and testing, but must not be used in a production system. See section Logging in the
Kernel User's Guide, and the logger(3erl) manual page for information about how to configure
Logger for live systems.
warning_map()->Tag
Types:
Tag = error | warning | info
Returns the current mapping for warning events. Events sent using warning_msg/1,2 or
warning_report/1,2 are tagged as errors, warnings (default), or info, depending on the value of
command-line flag +W.
Example:
os$ erl
Erlang (BEAM) emulator version 5.4.8 [hipe] [threads:0] [kernel-poll]
Eshell V5.4.8 (abort with ^G)
1> error_logger:warning_map().
warning
2> error_logger:warning_msg("Warnings tagged as: ~p~n", [warning]).
=WARNING REPORT==== 11-Aug-2005::15:31:55 ===
Warnings tagged as: warning
ok
3>
User switch command
--> q
os$ erl +W e
Erlang (BEAM) emulator version 5.4.8 [hipe] [threads:0] [kernel-poll]
Eshell V5.4.8 (abort with ^G)
1> error_logger:warning_map().
error
2> error_logger:warning_msg("Warnings tagged as: ~p~n", [error]).
=ERROR REPORT==== 11-Aug-2005::15:31:23 ===
Warnings tagged as: error
ok
warning_msg(Format)->okwarning_msg(Format,Data)->ok
Types:
Format = string()
Data = list()
Log a standard warning event. The Format and Data arguments are the same as the arguments of
io:format/2 in STDLIB.
Error logger forwards the event to Logger, including metadata that allows backwards compatibility
with legacy error logger event handlers.
The event is handled by the default Logger handler. The log level can be changed to error or info,
see warning_map/0.
These functions are kept for backwards compatibility and must not be used by new code. Use the
?LOG_WARNING macro or logger:warning/1,2,3 instead.
Warning:
If the Unicode translation modifier (t) is used in the format string, all event handlers must
ensure that the formatted output is correctly encoded for the I/O device.
warning_report(Report)->ok
Types:
Report = report()
Log a standard warning event. Error logger forwards the event to Logger, including metadata that
allows backwards compatibility with legacy error logger event handlers.
The event is handled by the default Logger handler. The log level can be changed to error or info,
see warning_map/0.
This functions is kept for backwards compatibility and must not be used by new code. Use the
?LOG_WARNING macro or logger:warning/1,2,3 instead.
warning_report(Type,Report)->ok
Types:
Type = any()
Report = report()
Log a user-defined warning event. Error logger forwards the event to Logger, including metadata
that allows backwards compatibility with legacy error logger event handlers.
Error logger also adds a domain field with value [Type] to this event's metadata, causing the
filters of the default Logger handler to discard the event. A different Logger handler, or an
error logger event handler, must be added to handle this event.
The log level can be changed to error or info, see warning_map/0.
It is recommended that Report follows the same structure as for warning_report/1.
This functions is kept for backwards compatibility and must not be used by new code. Use the
?LOG_WARNING macro or logger:warning/1,2,3 instead.