Module cloudi_core_i_logger

CloudI Logger

.

Copyright © 2009-2016 Michael Truog

Version: 1.5.4 Oct 7 2016 12:03:14 ------------------------------------------------------------------------

Behaviours: gen_server.

Authors: Michael Truog (mjtruog [at] gmail (dot) com).

Description

CloudI Logger

Function Index

code_change/3
current_function/0

Get the current function name being executed.

.
debug/8

Debug log message.

which reports subsystem data that should be useful for debugging.
error/8

Error log message.

which indicates a subsystem has failed but the failure is not fatal.
fatal/8

Critical log message.

which indicates the system has failed and can not continue.
file_set/1

Change the file output path.

.
format/2

Lager formatter for legacy output.

Provides legacy CloudI logger output formatting in a lager formatter function.
format/3

Lager formatter for legacy output.

Provides legacy CloudI logger output formatting in a lager formatter function.
formatters_set/1

Change the logging formatters.

.
handle_call/3
handle_cast/2
handle_info/2
info/8

Info log message.

which indicates a subsystem has changed state.
init/1
level_set/1

Change the file output log level.

.
metadata_get/0

Get lager-compatible metadata.

.
metadata_set/1

Set lager-compatible metadata.

.
redirect_set/1

Redirect this node's logging to a different node.

.
redirect_update/1

Update the destination of logging output.

.
set/1

Change the logging configuration.

.
start_link/1

Start the logging server with the supplied configuration.

.
syslog_set/1

Change the syslog configuration.

.
terminate/2
trace/8

Trace log message.

which reports subsystem data that is only for tracing execution.
warn/8

Warning log message.

which indicates an unexpected occurance was found in a subsystem.

Function Details

code_change/3

code_change(X1, State, X3) -> any()

current_function/0

current_function() -> atom()

Get the current function name being executed.

debug/8

debug(Mode::async | sync, Process::atom() | {atom(), node()}, Module::atom(), Line::integer(), Function::atom(), Arity::non_neg_integer() | undefined, Format::string(), Args::list() | undefined) -> ok

Debug log message.

which reports subsystem data that should be useful for debugging. Called with ?LOG_DEBUG(Format, []).

error/8

error(Mode::async | sync, Process::atom() | {atom(), node()}, Module::atom(), Line::integer(), Function::atom(), Arity::non_neg_integer() | undefined, Format::string(), Args::list() | undefined) -> ok

Error log message.

which indicates a subsystem has failed but the failure is not fatal. Called with ?LOG_ERROR(Format, []).

fatal/8

fatal(Mode::async | sync, Process::atom() | {atom(), node()}, Module::atom(), Line::integer(), Function::atom(), Arity::non_neg_integer() | undefined, Format::string(), Args::list() | undefined) -> ok

Critical log message.

which indicates the system has failed and can not continue. Called with ?LOG_FATAL(Format, []).

file_set/1

file_set(FilePath::string() | undefined) -> ok | {error, file:posix() | badarg | system_limit}

Change the file output path.

format/2

format(Msg, Config) -> any()

Lager formatter for legacy output.

Provides legacy CloudI logger output formatting in a lager formatter function.

format/3

format(Msg, Config, X3) -> any()

Lager formatter for legacy output.

Provides legacy CloudI logger output formatting in a lager formatter function. Use {formatters, [{any, [{formatter, cloudi_core_i_logger}, {formatter_config, [{mode, legacy}]}]}, {['STDOUT'], [{formatter, cloudi_core_i_logger}, {formatter_config, [{mode, legacy_stdout}]}]}, {['STDERR'], [{formatter, cloudi_core_i_logger}, {formatter_config, [{mode, legacy_stderr}]}]}]} for legacy log output with this formatter function.

formatters_set/1

formatters_set(FormattersConfig::#config_logging_formatters{default = undefined | #config_logging_formatter{level = cloudi_service_api:loglevel(), output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = cloudi_service_api:seconds(), formatter = undefined | module(), formatter_config = list()}, lookup = keys1value:keys1value(module(), #config_logging_formatter{level = cloudi_service_api:loglevel(), output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = cloudi_service_api:seconds(), formatter = undefined | module(), formatter_config = list()}), level = undefined | cloudi_service_api:loglevel()} | undefined) -> ok

Change the logging formatters.

handle_call/3

handle_call(Request, X2, State) -> any()

handle_cast/2

handle_cast(Request, State) -> any()

handle_info/2

handle_info(Request, State) -> any()

info/8

info(Mode::async | sync, Process::atom() | {atom(), node()}, Module::atom(), Line::integer(), Function::atom(), Arity::non_neg_integer() | undefined, Format::string(), Args::list() | undefined) -> ok

Info log message.

which indicates a subsystem has changed state. Called with ?LOG_INFO(Format, []).

init/1

init(X1) -> any()

level_set/1

level_set(Level::cloudi_service_api:loglevel() | undefined) -> ok

Change the file output log level.

metadata_get/0

metadata_get() -> [{atom(), any()}]

Get lager-compatible metadata.

metadata_set/1

metadata_set(L::[{atom(), any()}]) -> ok

Set lager-compatible metadata.

redirect_set/1

redirect_set(Node::atom()) -> ok

Redirect this node's logging to a different node.

redirect_update/1

redirect_update(Node::atom()) -> ok

Update the destination of logging output.

set/1

set(LoggingConfig::#config_logging{file = undefined | string(), level = undefined | cloudi_service_api:loglevel(), redirect = undefined | node(), syslog = undefined | #config_logging_syslog{identity = string(), facility = syslog:facility(), level = cloudi_service_api:loglevel()}, formatters = undefined | #config_logging_formatters{default = undefined | #config_logging_formatter{level = cloudi_service_api:loglevel(), output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = cloudi_service_api:seconds(), formatter = undefined | module(), formatter_config = list()}, lookup = keys1value:keys1value(module(), #config_logging_formatter{level = cloudi_service_api:loglevel(), output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = cloudi_service_api:seconds(), formatter = undefined | module(), formatter_config = list()}), level = undefined | cloudi_service_api:loglevel()}, aspects_log_before = [cloudi_service_api:aspect_log_before()], aspects_log_after = [cloudi_service_api:aspect_log_after()]}) -> ok | {error, file:posix() | badarg | system_limit}

Change the logging configuration.

start_link/1

start_link(Config::#config{uuid_generator = uuid:state(), logging = #config_logging{file = undefined | string(), level = undefined | cloudi_service_api:loglevel(), redirect = undefined | node(), syslog = undefined | #config_logging_syslog{identity = string(), facility = syslog:facility(), level = cloudi_service_api:loglevel()}, formatters = undefined | #config_logging_formatters{default = undefined | #config_logging_formatter{level = cloudi_service_api:loglevel(), output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = cloudi_service_api:seconds(), formatter = undefined | module(), formatter_config = list()}, lookup = keys1value:keys1value(module(), #config_logging_formatter{level = cloudi_service_api:loglevel(), output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = cloudi_service_api:seconds(), formatter = undefined | module(), formatter_config = list()}), level = undefined | cloudi_service_api:loglevel()}, aspects_log_before = [cloudi_service_api:aspect_log_before()], aspects_log_after = [cloudi_service_api:aspect_log_after()]}, acl = any(), services = [#config_service_internal{prefix = string(), module = atom() | file:filename(), file_path = undefined | file:filename(), args = list(), dest_refresh = cloudi_service_api:dest_refresh(), timeout_init = cloudi_service_api:timeout_milliseconds(), timeout_async = cloudi_service_api:timeout_milliseconds(), timeout_sync = cloudi_service_api:timeout_milliseconds(), timeout_term = cloudi_service_api:timeout_milliseconds(), dest_list_deny = cloudi_service_api:dest_list(), dest_list_allow = cloudi_service_api:dest_list(), count_process = pos_integer(), max_r = non_neg_integer(), max_t = cloudi_service_api:seconds(), options = #config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}, uuid = cloudi_service_api:service_id()} | #config_service_external{prefix = string(), file_path = file:filename(), args = string(), env = [{string(), string()}], dest_refresh = cloudi_service_api:dest_refresh(), protocol = local | tcp | udp, buffer_size = pos_integer(), timeout_init = cloudi_service_api:timeout_milliseconds(), timeout_async = cloudi_service_api:timeout_milliseconds(), timeout_sync = cloudi_service_api:timeout_milliseconds(), timeout_term = cloudi_service_api:timeout_milliseconds(), dest_list_deny = cloudi_service_api:dest_list(), dest_list_allow = cloudi_service_api:dest_list(), count_process = pos_integer(), count_thread = pos_integer(), max_r = non_neg_integer(), max_t = cloudi_service_api:seconds(), options = #config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}, uuid = cloudi_service_api:service_id()}], nodes = #config_nodes{nodes = [node()], reconnect_start = cloudi_service_api:node_reconnect_delay_seconds(), reconnect_delay = cloudi_service_api:node_reconnect_delay_seconds(), listen = visible | all, connect = visible | hidden, timestamp_type = erlang | os | warp, discovery = #config_nodes_discovery{mode = multicast | ec2, module = module(), start_f = atom(), start_a = list(), discover_f = atom(), discover_a = list(), stop_f = atom(), stop_a = list()} | undefined}}) -> {ok, pid()} | {error, any()}

Start the logging server with the supplied configuration.

syslog_set/1

syslog_set(SyslogConfig::#config_logging_syslog{identity = string(), facility = syslog:facility(), level = cloudi_service_api:loglevel()} | undefined) -> ok

Change the syslog configuration.

terminate/2

terminate(X1, State) -> any()

trace/8

trace(Mode::async | sync, Process::atom() | {atom(), node()}, Module::atom(), Line::integer(), Function::atom(), Arity::non_neg_integer() | undefined, Format::string(), Args::list() | undefined) -> ok

Trace log message.

which reports subsystem data that is only for tracing execution. Called with ?LOG_TRACE(Format, []).

warn/8

warn(Mode::async | sync, Process::atom() | {atom(), node()}, Module::atom(), Line::integer(), Function::atom(), Arity::non_neg_integer() | undefined, Format::string(), Args::list() | undefined) -> ok

Warning log message.

which indicates an unexpected occurance was found in a subsystem. Called with ?LOG_WARN(Format, []).


Generated by EDoc, Oct 7 2016, 12:03:14.