Current section

Files

Jump to
cloudi_core doc cloudi_core_i_logger.html
Raw

doc/cloudi_core_i_logger.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Module cloudi_core_i_logger</title>
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="EDoc">
</head>
<body bgcolor="white">
<div class="navbar"><a name="#navbar_top"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
<hr>
<h1>Module cloudi_core_i_logger</h1>
<ul class="index"><li><a href="#description">Description</a></li><li><a href="#index">Function Index</a></li><li><a href="#functions">Function Details</a></li></ul>
<h3><a name="CloudI_Logger">CloudI Logger</a></h3>.
<p>Copyright © 2009-2017 Michael Truog</p>
<p><b>Version:</b> 1.7.1 Jun 7 2017 10:27:08
------------------------------------------------------------------------</p>
<p><b>Behaviours:</b> <a href="gen_server.html"><tt>gen_server</tt></a>.</p>
<p><b>Authors:</b> Michael Truog (<a href="mailto:mjtruog [at] gmail (dot) com"><tt>mjtruog [at] gmail (dot) com</tt></a>).</p>
<h2><a name="description">Description</a></h2>
<h3><a name="CloudI_Logger">CloudI Logger</a></h3>
<h2><a name="index">Function Index</a></h2>
<table width="100%" border="1" cellspacing="0" cellpadding="2" summary="function index"><tr><td valign="top"><a href="#code_change-3">code_change/3</a></td><td></td></tr>
<tr><td valign="top"><a href="#debug-8">debug/8</a></td><td>
<h4><a name="Debug_log_message.">Debug log message.</a></h4>
which reports subsystem data that should be useful for debugging.</td></tr>
<tr><td valign="top"><a href="#error-8">error/8</a></td><td>
<h4><a name="Error_log_message.">Error log message.</a></h4>
which indicates a subsystem has failed but the failure is not fatal.</td></tr>
<tr><td valign="top"><a href="#fatal-8">fatal/8</a></td><td>
<h4><a name="Critical_log_message.">Critical log message.</a></h4>
which indicates the system has failed and can not continue.</td></tr>
<tr><td valign="top"><a href="#file_set-1">file_set/1</a></td><td>
<h4><a name="Change_the_file_output_path.">Change the file output path.</a></h4>.</td></tr>
<tr><td valign="top"><a href="#format-2">format/2</a></td><td>
<h4><a name="Lager_formatter_for_legacy_output.">Lager formatter for legacy output.</a></h4>
Provides legacy CloudI logger output formatting in a
lager formatter function.</td></tr>
<tr><td valign="top"><a href="#format-3">format/3</a></td><td>
<h4><a name="Lager_formatter_example_with_default_output.">Lager formatter example with default output.</a></h4>.</td></tr>
<tr><td valign="top"><a href="#formatters_set-1">formatters_set/1</a></td><td>
<h4><a name="Change_the_logging_formatters.">Change the logging formatters.</a></h4>.</td></tr>
<tr><td valign="top"><a href="#handle_call-3">handle_call/3</a></td><td></td></tr>
<tr><td valign="top"><a href="#handle_cast-2">handle_cast/2</a></td><td></td></tr>
<tr><td valign="top"><a href="#handle_info-2">handle_info/2</a></td><td></td></tr>
<tr><td valign="top"><a href="#info-8">info/8</a></td><td>
<h4><a name="Info_log_message.">Info log message.</a></h4>
which indicates a subsystem has changed state.</td></tr>
<tr><td valign="top"><a href="#init-1">init/1</a></td><td></td></tr>
<tr><td valign="top"><a href="#level_set-1">level_set/1</a></td><td>
<h4><a name="Change_the_file_output_log_level.">Change the file output log level.</a></h4>.</td></tr>
<tr><td valign="top"><a href="#metadata_get-0">metadata_get/0</a></td><td>
<h4><a name="Get_lager-compatible_metadata.">Get lager-compatible metadata.</a></h4>.</td></tr>
<tr><td valign="top"><a href="#metadata_set-1">metadata_set/1</a></td><td>
<h4><a name="Set_lager-compatible_metadata.">Set lager-compatible metadata.</a></h4>.</td></tr>
<tr><td valign="top"><a href="#redirect_set-1">redirect_set/1</a></td><td>
<h4><a name="Redirect_this_node's_logging_to_a_different_node.">Redirect this node's logging to a different node.</a></h4>.</td></tr>
<tr><td valign="top"><a href="#redirect_update-1">redirect_update/1</a></td><td>
<h4><a name="Update_the_destination_of_logging_output.">Update the destination of logging output.</a></h4>.</td></tr>
<tr><td valign="top"><a href="#set-1">set/1</a></td><td>
<h4><a name="Change_the_logging_configuration.">Change the logging configuration.</a></h4>.</td></tr>
<tr><td valign="top"><a href="#start_link-1">start_link/1</a></td><td>
<h4><a name="Start_the_logging_server_with_the_supplied_configuration.">Start the logging server with the supplied configuration.</a></h4>.</td></tr>
<tr><td valign="top"><a href="#stdout_set-1">stdout_set/1</a></td><td>
<h4><a name="Change_the_stdout_output_state.">Change the stdout output state.</a></h4>.</td></tr>
<tr><td valign="top"><a href="#syslog_set-1">syslog_set/1</a></td><td>
<h4><a name="Change_the_syslog_configuration.">Change the syslog configuration.</a></h4>.</td></tr>
<tr><td valign="top"><a href="#terminate-2">terminate/2</a></td><td></td></tr>
<tr><td valign="top"><a href="#trace-8">trace/8</a></td><td>
<h4><a name="Trace_log_message.">Trace log message.</a></h4>
which reports subsystem data that is only for tracing execution.</td></tr>
<tr><td valign="top"><a href="#warn-8">warn/8</a></td><td>
<h4><a name="Warning_log_message.">Warning log message.</a></h4>
which indicates an unexpected occurance was found in a subsystem.</td></tr>
</table>
<h2><a name="functions">Function Details</a></h2>
<h3 class="function"><a name="code_change-3">code_change/3</a></h3>
<div class="spec">
<p><tt>code_change(X1, State, X3) -&gt; any()</tt></p>
</div>
<h3 class="function"><a name="debug-8">debug/8</a></h3>
<div class="spec">
<p><tt>debug(Mode::async | sync, Process::atom() | {atom(), node()}, Module::atom(), Line::non_neg_integer(), Function::atom(), Arity::arity() | undefined, Format::string(), Args::list() | undefined) -&gt; ok</tt><br></p>
</div><p>
<h4><a name="Debug_log_message.">Debug log message.</a></h4>
which reports subsystem data that should be useful for debugging.
Called with ?LOG_DEBUG(Format, []).</p>
<h3 class="function"><a name="error-8">error/8</a></h3>
<div class="spec">
<p><tt>error(Mode::async | sync, Process::atom() | {atom(), node()}, Module::atom(), Line::non_neg_integer(), Function::atom(), Arity::arity() | undefined, Format::string(), Args::list() | undefined) -&gt; ok</tt><br></p>
</div><p>
<h4><a name="Error_log_message.">Error log message.</a></h4>
which indicates a subsystem has failed but the failure is not fatal.
Called with ?LOG_ERROR(Format, []).</p>
<h3 class="function"><a name="fatal-8">fatal/8</a></h3>
<div class="spec">
<p><tt>fatal(Mode::async | sync, Process::atom() | {atom(), node()}, Module::atom(), Line::non_neg_integer(), Function::atom(), Arity::arity() | undefined, Format::string(), Args::list() | undefined) -&gt; ok</tt><br></p>
</div><p>
<h4><a name="Critical_log_message.">Critical log message.</a></h4>
which indicates the system has failed and can not continue.
Called with ?LOG_FATAL(Format, []).</p>
<h3 class="function"><a name="file_set-1">file_set/1</a></h3>
<div class="spec">
<p><tt>file_set(FilePath::string() | undefined) -&gt; ok | {error, <a href="file.html#type-posix">file:posix()</a> | badarg | system_limit}</tt><br></p>
</div><p>
<h4><a name="Change_the_file_output_path.">Change the file output path.</a></h4>
</p>
<h3 class="function"><a name="format-2">format/2</a></h3>
<div class="spec">
<p><tt>format(Msg, Config) -&gt; any()</tt></p>
</div><p>
<h4><a name="Lager_formatter_for_legacy_output.">Lager formatter for legacy output.</a></h4>
Provides legacy CloudI logger output formatting in a
lager formatter function.</p>
<h3 class="function"><a name="format-3">format/3</a></h3>
<div class="spec">
<p><tt>format(Msg::{lager_msg, Destinations::list(), Metadata::[{atom(), any()}], Severity::debug | emergency | error | info | warning, Datetime::{string(), string()}, Timestamp::<a href="erlang.html#type-timestamp">erlang:timestamp()</a>, Message::list()}, Config::list(), Colors::any()) -&gt; iodata()</tt><br></p>
</div><p>
<h4><a name="Lager_formatter_example_with_default_output.">Lager formatter example with default output.</a></h4>
</p>
<h3 class="function"><a name="formatters_set-1">formatters_set/1</a></h3>
<div class="spec">
<p><tt>formatters_set(FormattersConfig::#config_logging_formatters{default = undefined | #config_logging_formatter{level = <a href="cloudi_service_api.html#type-loglevel">cloudi_service_api:loglevel()</a>, output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = <a href="cloudi_service_api.html#type-seconds">cloudi_service_api:seconds()</a>, formatter = undefined | module(), formatter_config = list()}, lookup = <a href="deps/keys1value/doc/keys1value.html#type-keys1value">keys1value:keys1value</a>(module(), #config_logging_formatter{level = <a href="cloudi_service_api.html#type-loglevel">cloudi_service_api:loglevel()</a>, output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = <a href="cloudi_service_api.html#type-seconds">cloudi_service_api:seconds()</a>, formatter = undefined | module(), formatter_config = list()}), level = undefined | <a href="cloudi_service_api.html#type-loglevel">cloudi_service_api:loglevel()</a>} | undefined) -&gt; ok</tt><br></p>
</div><p>
<h4><a name="Change_the_logging_formatters.">Change the logging formatters.</a></h4>
</p>
<h3 class="function"><a name="handle_call-3">handle_call/3</a></h3>
<div class="spec">
<p><tt>handle_call(Request, X2, State) -&gt; any()</tt></p>
</div>
<h3 class="function"><a name="handle_cast-2">handle_cast/2</a></h3>
<div class="spec">
<p><tt>handle_cast(Request, State) -&gt; any()</tt></p>
</div>
<h3 class="function"><a name="handle_info-2">handle_info/2</a></h3>
<div class="spec">
<p><tt>handle_info(Request, State) -&gt; any()</tt></p>
</div>
<h3 class="function"><a name="info-8">info/8</a></h3>
<div class="spec">
<p><tt>info(Mode::async | sync, Process::atom() | {atom(), node()}, Module::atom(), Line::non_neg_integer(), Function::atom(), Arity::arity() | undefined, Format::string(), Args::list() | undefined) -&gt; ok</tt><br></p>
</div><p>
<h4><a name="Info_log_message.">Info log message.</a></h4>
which indicates a subsystem has changed state.
Called with ?LOG_INFO(Format, []).</p>
<h3 class="function"><a name="init-1">init/1</a></h3>
<div class="spec">
<p><tt>init(X1) -&gt; any()</tt></p>
</div>
<h3 class="function"><a name="level_set-1">level_set/1</a></h3>
<div class="spec">
<p><tt>level_set(Level::<a href="cloudi_service_api.html#type-loglevel">cloudi_service_api:loglevel()</a> | undefined) -&gt; ok</tt><br></p>
</div><p>
<h4><a name="Change_the_file_output_log_level.">Change the file output log level.</a></h4>
</p>
<h3 class="function"><a name="metadata_get-0">metadata_get/0</a></h3>
<div class="spec">
<p><tt>metadata_get() -&gt; [{atom(), any()}]</tt><br></p>
</div><p>
<h4><a name="Get_lager-compatible_metadata.">Get lager-compatible metadata.</a></h4>
</p>
<h3 class="function"><a name="metadata_set-1">metadata_set/1</a></h3>
<div class="spec">
<p><tt>metadata_set(L::[{atom(), any()}]) -&gt; ok</tt><br></p>
</div><p>
<h4><a name="Set_lager-compatible_metadata.">Set lager-compatible metadata.</a></h4>
</p>
<h3 class="function"><a name="redirect_set-1">redirect_set/1</a></h3>
<div class="spec">
<p><tt>redirect_set(Node::atom()) -&gt; ok</tt><br></p>
</div><p>
<h4><a name="Redirect_this_node's_logging_to_a_different_node.">Redirect this node's logging to a different node.</a></h4>
</p>
<h3 class="function"><a name="redirect_update-1">redirect_update/1</a></h3>
<div class="spec">
<p><tt>redirect_update(Node::atom()) -&gt; ok</tt><br></p>
</div><p>
<h4><a name="Update_the_destination_of_logging_output.">Update the destination of logging output.</a></h4>
</p>
<h3 class="function"><a name="set-1">set/1</a></h3>
<div class="spec">
<p><tt>set(LoggingConfig::#config_logging{file = undefined | string(), stdout = boolean(), level = undefined | <a href="cloudi_service_api.html#type-loglevel">cloudi_service_api:loglevel()</a>, redirect = undefined | node(), syslog = undefined | #config_logging_syslog{identity = <a href="cloudi_service_api.html#type-logging_syslog_identity">cloudi_service_api:logging_syslog_identity()</a>, facility = <a href="cloudi_service_api.html#type-logging_syslog_facility">cloudi_service_api:logging_syslog_facility()</a>, level = <a href="cloudi_service_api.html#type-loglevel">cloudi_service_api:loglevel()</a>, transport = <a href="cloudi_service_api.html#type-logging_syslog_transport">cloudi_service_api:logging_syslog_transport()</a>, transport_options = <a href="cloudi_service_api.html#type-logging_syslog_transport_options">cloudi_service_api:logging_syslog_transport_options()</a>, protocol = <a href="cloudi_service_api.html#type-logging_syslog_protocol">cloudi_service_api:logging_syslog_protocol()</a>, path = <a href="cloudi_service_api.html#type-logging_syslog_path">cloudi_service_api:logging_syslog_path()</a>, host = <a href="cloudi_service_api.html#type-logging_syslog_host">cloudi_service_api:logging_syslog_host()</a>, port = <a href="cloudi_service_api.html#type-logging_syslog_port">cloudi_service_api:logging_syslog_port()</a>}, formatters = undefined | #config_logging_formatters{default = undefined | #config_logging_formatter{level = <a href="cloudi_service_api.html#type-loglevel">cloudi_service_api:loglevel()</a>, output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = <a href="cloudi_service_api.html#type-seconds">cloudi_service_api:seconds()</a>, formatter = undefined | module(), formatter_config = list()}, lookup = <a href="deps/keys1value/doc/keys1value.html#type-keys1value">keys1value:keys1value</a>(module(), #config_logging_formatter{level = <a href="cloudi_service_api.html#type-loglevel">cloudi_service_api:loglevel()</a>, output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = <a href="cloudi_service_api.html#type-seconds">cloudi_service_api:seconds()</a>, formatter = undefined | module(), formatter_config = list()}), level = undefined | <a href="cloudi_service_api.html#type-loglevel">cloudi_service_api:loglevel()</a>}, aspects_log_before = [<a href="cloudi_service_api.html#type-aspect_log_before">cloudi_service_api:aspect_log_before()</a>], aspects_log_after = [<a href="cloudi_service_api.html#type-aspect_log_after">cloudi_service_api:aspect_log_after()</a>]}) -&gt; ok | {error, <a href="file.html#type-posix">file:posix()</a> | badarg | system_limit}</tt><br></p>
</div><p>
<h4><a name="Change_the_logging_configuration.">Change the logging configuration.</a></h4>
</p>
<h3 class="function"><a name="start_link-1">start_link/1</a></h3>
<div class="spec">
<p><tt>start_link(Config::#config{uuid_generator = <a href="deps/uuid/doc/uuid.html#type-state">uuid:state()</a>, logging = #config_logging{file = undefined | string(), stdout = boolean(), level = undefined | <a href="cloudi_service_api.html#type-loglevel">cloudi_service_api:loglevel()</a>, redirect = undefined | node(), syslog = undefined | #config_logging_syslog{identity = <a href="cloudi_service_api.html#type-logging_syslog_identity">cloudi_service_api:logging_syslog_identity()</a>, facility = <a href="cloudi_service_api.html#type-logging_syslog_facility">cloudi_service_api:logging_syslog_facility()</a>, level = <a href="cloudi_service_api.html#type-loglevel">cloudi_service_api:loglevel()</a>, transport = <a href="cloudi_service_api.html#type-logging_syslog_transport">cloudi_service_api:logging_syslog_transport()</a>, transport_options = <a href="cloudi_service_api.html#type-logging_syslog_transport_options">cloudi_service_api:logging_syslog_transport_options()</a>, protocol = <a href="cloudi_service_api.html#type-logging_syslog_protocol">cloudi_service_api:logging_syslog_protocol()</a>, path = <a href="cloudi_service_api.html#type-logging_syslog_path">cloudi_service_api:logging_syslog_path()</a>, host = <a href="cloudi_service_api.html#type-logging_syslog_host">cloudi_service_api:logging_syslog_host()</a>, port = <a href="cloudi_service_api.html#type-logging_syslog_port">cloudi_service_api:logging_syslog_port()</a>}, formatters = undefined | #config_logging_formatters{default = undefined | #config_logging_formatter{level = <a href="cloudi_service_api.html#type-loglevel">cloudi_service_api:loglevel()</a>, output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = <a href="cloudi_service_api.html#type-seconds">cloudi_service_api:seconds()</a>, formatter = undefined | module(), formatter_config = list()}, lookup = <a href="deps/keys1value/doc/keys1value.html#type-keys1value">keys1value:keys1value</a>(module(), #config_logging_formatter{level = <a href="cloudi_service_api.html#type-loglevel">cloudi_service_api:loglevel()</a>, output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = <a href="cloudi_service_api.html#type-seconds">cloudi_service_api:seconds()</a>, formatter = undefined | module(), formatter_config = list()}), level = undefined | <a href="cloudi_service_api.html#type-loglevel">cloudi_service_api:loglevel()</a>}, aspects_log_before = [<a href="cloudi_service_api.html#type-aspect_log_before">cloudi_service_api:aspect_log_before()</a>], aspects_log_after = [<a href="cloudi_service_api.html#type-aspect_log_after">cloudi_service_api:aspect_log_after()</a>]}, acl = #{}, services = [#config_service_internal{prefix = string(), module = atom() | <a href="file.html#type-filename">file:filename()</a>, file_path = undefined | <a href="file.html#type-filename">file:filename()</a>, args = list(), dest_refresh = <a href="cloudi_service_api.html#type-dest_refresh">cloudi_service_api:dest_refresh()</a>, timeout_init = <a href="cloudi_service_api.html#type-timeout_initialize_value_milliseconds">cloudi_service_api:timeout_initialize_value_milliseconds()</a>, timeout_async = <a href="cloudi_service_api.html#type-timeout_send_async_value_milliseconds">cloudi_service_api:timeout_send_async_value_milliseconds()</a>, timeout_sync = <a href="cloudi_service_api.html#type-timeout_send_sync_value_milliseconds">cloudi_service_api:timeout_send_sync_value_milliseconds()</a>, timeout_term = <a href="cloudi_service_api.html#type-timeout_terminate_value_milliseconds">cloudi_service_api:timeout_terminate_value_milliseconds()</a>, dest_list_deny = <a href="cloudi_service_api.html#type-dest_list">cloudi_service_api:dest_list()</a>, dest_list_allow = <a href="cloudi_service_api.html#type-dest_list">cloudi_service_api:dest_list()</a>, count_process = pos_integer(), max_r = non_neg_integer(), max_t = <a href="cloudi_service_api.html#type-seconds">cloudi_service_api:seconds()</a>, options = #config_service_options{priority_default = <a href="cloudi_service.html#type-priority">cloudi_service:priority()</a>, queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, <a href="cloudi_service_api.html#type-period_seconds">cloudi_service_api:period_seconds()</a>} | {value, number()}] | tuple(), dest_refresh_start = <a href="cloudi_service_api.html#type-dest_refresh_delay_milliseconds">cloudi_service_api:dest_refresh_delay_milliseconds()</a>, dest_refresh_delay = <a href="cloudi_service_api.html#type-dest_refresh_delay_milliseconds">cloudi_service_api:dest_refresh_delay_milliseconds()</a>, request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = <a href="cloudi_service_api.html#type-request_timeout_immediate_max_milliseconds">cloudi_service_api:request_timeout_immediate_max_milliseconds()</a>, response_timeout_adjustment = boolean(), response_timeout_immediate_max = <a href="cloudi_service_api.html#type-response_timeout_immediate_max_milliseconds">cloudi_service_api:response_timeout_immediate_max_milliseconds()</a>, count_process_dynamic = false | [{period, <a href="cloudi_service_api.html#type-period_seconds">cloudi_service_api:period_seconds()</a>} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | <a href="cloudi_service_api.html#type-timeout_terminate_milliseconds">cloudi_service_api:timeout_terminate_milliseconds()</a>, restart_delay = [{time_exponential_min, <a href="cloudi_service_api.html#type-restart_delay_milliseconds">cloudi_service_api:restart_delay_milliseconds()</a>} | {time_exponential_max, <a href="cloudi_service_api.html#type-restart_delay_milliseconds">cloudi_service_api:restart_delay_milliseconds()</a>} | {time_absolute, <a href="cloudi_service_api.html#type-restart_delay_milliseconds">cloudi_service_api:restart_delay_milliseconds()</a>}] | false | tuple(), scope = atom(), monkey_latency = [{time_uniform_min, <a href="cloudi_service_api.html#type-latency_min_time_milliseconds">cloudi_service_api:latency_min_time_milliseconds()</a>} | {time_uniform_max, <a href="cloudi_service_api.html#type-latency_max_time_milliseconds">cloudi_service_api:latency_max_time_milliseconds()</a>} | {time_gaussian_mean, <a href="cloudi_service_api.html#type-latency_mean_time_milliseconds">cloudi_service_api:latency_mean_time_milliseconds()</a>} | {time_gaussian_stddev, float() | pos_integer()} | {time_absolute, <a href="cloudi_service_api.html#type-latency_time_milliseconds">cloudi_service_api:latency_time_milliseconds()</a>}] | 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, <a href="cloudi_service_api.html#type-max_heap_size_options">cloudi_service_api:max_heap_size_options()</a>} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [<a href="cloudi_service_api.html#type-aspect_init_after_internal">cloudi_service_api:aspect_init_after_internal()</a> | <a href="cloudi_service_api.html#type-aspect_init_after_external">cloudi_service_api:aspect_init_after_external()</a>], aspects_request_before = [<a href="cloudi_service_api.html#type-aspect_request_before_internal">cloudi_service_api:aspect_request_before_internal()</a> | <a href="cloudi_service_api.html#type-aspect_request_before_external">cloudi_service_api:aspect_request_before_external()</a>], aspects_request_after = [<a href="cloudi_service_api.html#type-aspect_request_after_internal">cloudi_service_api:aspect_request_after_internal()</a> | <a href="cloudi_service_api.html#type-aspect_request_after_external">cloudi_service_api:aspect_request_after_external()</a>], aspects_info_before = [<a href="cloudi_service_api.html#type-aspect_info_before_internal">cloudi_service_api:aspect_info_before_internal()</a>], aspects_info_after = [<a href="cloudi_service_api.html#type-aspect_info_after_internal">cloudi_service_api:aspect_info_after_internal()</a>], aspects_terminate_before = [<a href="cloudi_service_api.html#type-aspect_terminate_before_internal">cloudi_service_api:aspect_terminate_before_internal()</a> | <a href="cloudi_service_api.html#type-aspect_terminate_before_external">cloudi_service_api:aspect_terminate_before_external()</a>], limit = <a href="cloudi_service_api.html#type-limit_external">cloudi_service_api:limit_external()</a>, owner = <a href="cloudi_service_api.html#type-owner_external">cloudi_service_api:owner_external()</a>, nice = <a href="cloudi_service_api.html#type-nice_external">cloudi_service_api:nice_external()</a>, cgroup = <a href="cloudi_service_api.html#type-cgroup_external">cloudi_service_api:cgroup_external()</a>, chroot = <a href="cloudi_service_api.html#type-chroot_external">cloudi_service_api:chroot_external()</a>, directory = <a href="cloudi_service_api.html#type-directory_external">cloudi_service_api:directory_external()</a>, 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, <a href="cloudi_service_api.html#type-max_heap_size_options">cloudi_service_api:max_heap_size_options()</a>} | {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, <a href="cloudi_service_api.html#type-max_heap_size_options">cloudi_service_api:max_heap_size_options()</a>} | {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, <a href="cloudi_service_api.html#type-max_heap_size_options">cloudi_service_api:max_heap_size_options()</a>} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, <a href="cloudi_service_api.html#type-period_seconds">cloudi_service_api:period_seconds()</a>} | {rate_request_min, number()}] | tuple(), reload = boolean()}, uuid = <a href="cloudi_service_api.html#type-service_id">cloudi_service_api:service_id()</a>} | #config_service_external{prefix = string(), file_path = <a href="file.html#type-filename">file:filename()</a>, args = string(), env = [{string(), string()}], dest_refresh = <a href="cloudi_service_api.html#type-dest_refresh">cloudi_service_api:dest_refresh()</a>, protocol = local | tcp | udp, buffer_size = pos_integer(), timeout_init = <a href="cloudi_service_api.html#type-timeout_initialize_value_milliseconds">cloudi_service_api:timeout_initialize_value_milliseconds()</a>, timeout_async = <a href="cloudi_service_api.html#type-timeout_send_async_value_milliseconds">cloudi_service_api:timeout_send_async_value_milliseconds()</a>, timeout_sync = <a href="cloudi_service_api.html#type-timeout_send_sync_value_milliseconds">cloudi_service_api:timeout_send_sync_value_milliseconds()</a>, timeout_term = <a href="cloudi_service_api.html#type-timeout_terminate_value_milliseconds">cloudi_service_api:timeout_terminate_value_milliseconds()</a>, dest_list_deny = <a href="cloudi_service_api.html#type-dest_list">cloudi_service_api:dest_list()</a>, dest_list_allow = <a href="cloudi_service_api.html#type-dest_list">cloudi_service_api:dest_list()</a>, count_process = pos_integer(), count_thread = pos_integer(), max_r = non_neg_integer(), max_t = <a href="cloudi_service_api.html#type-seconds">cloudi_service_api:seconds()</a>, options = #config_service_options{priority_default = <a href="cloudi_service.html#type-priority">cloudi_service:priority()</a>, queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, <a href="cloudi_service_api.html#type-period_seconds">cloudi_service_api:period_seconds()</a>} | {value, number()}] | tuple(), dest_refresh_start = <a href="cloudi_service_api.html#type-dest_refresh_delay_milliseconds">cloudi_service_api:dest_refresh_delay_milliseconds()</a>, dest_refresh_delay = <a href="cloudi_service_api.html#type-dest_refresh_delay_milliseconds">cloudi_service_api:dest_refresh_delay_milliseconds()</a>, request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = <a href="cloudi_service_api.html#type-request_timeout_immediate_max_milliseconds">cloudi_service_api:request_timeout_immediate_max_milliseconds()</a>, response_timeout_adjustment = boolean(), response_timeout_immediate_max = <a href="cloudi_service_api.html#type-response_timeout_immediate_max_milliseconds">cloudi_service_api:response_timeout_immediate_max_milliseconds()</a>, count_process_dynamic = false | [{period, <a href="cloudi_service_api.html#type-period_seconds">cloudi_service_api:period_seconds()</a>} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | <a href="cloudi_service_api.html#type-timeout_terminate_milliseconds">cloudi_service_api:timeout_terminate_milliseconds()</a>, restart_delay = [{time_exponential_min, <a href="cloudi_service_api.html#type-restart_delay_milliseconds">cloudi_service_api:restart_delay_milliseconds()</a>} | {time_exponential_max, <a href="cloudi_service_api.html#type-restart_delay_milliseconds">cloudi_service_api:restart_delay_milliseconds()</a>} | {time_absolute, <a href="cloudi_service_api.html#type-restart_delay_milliseconds">cloudi_service_api:restart_delay_milliseconds()</a>}] | false | tuple(), scope = atom(), monkey_latency = [{time_uniform_min, <a href="cloudi_service_api.html#type-latency_min_time_milliseconds">cloudi_service_api:latency_min_time_milliseconds()</a>} | {time_uniform_max, <a href="cloudi_service_api.html#type-latency_max_time_milliseconds">cloudi_service_api:latency_max_time_milliseconds()</a>} | {time_gaussian_mean, <a href="cloudi_service_api.html#type-latency_mean_time_milliseconds">cloudi_service_api:latency_mean_time_milliseconds()</a>} | {time_gaussian_stddev, float() | pos_integer()} | {time_absolute, <a href="cloudi_service_api.html#type-latency_time_milliseconds">cloudi_service_api:latency_time_milliseconds()</a>}] | 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, <a href="cloudi_service_api.html#type-max_heap_size_options">cloudi_service_api:max_heap_size_options()</a>} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [<a href="cloudi_service_api.html#type-aspect_init_after_internal">cloudi_service_api:aspect_init_after_internal()</a> | <a href="cloudi_service_api.html#type-aspect_init_after_external">cloudi_service_api:aspect_init_after_external()</a>], aspects_request_before = [<a href="cloudi_service_api.html#type-aspect_request_before_internal">cloudi_service_api:aspect_request_before_internal()</a> | <a href="cloudi_service_api.html#type-aspect_request_before_external">cloudi_service_api:aspect_request_before_external()</a>], aspects_request_after = [<a href="cloudi_service_api.html#type-aspect_request_after_internal">cloudi_service_api:aspect_request_after_internal()</a> | <a href="cloudi_service_api.html#type-aspect_request_after_external">cloudi_service_api:aspect_request_after_external()</a>], aspects_info_before = [<a href="cloudi_service_api.html#type-aspect_info_before_internal">cloudi_service_api:aspect_info_before_internal()</a>], aspects_info_after = [<a href="cloudi_service_api.html#type-aspect_info_after_internal">cloudi_service_api:aspect_info_after_internal()</a>], aspects_terminate_before = [<a href="cloudi_service_api.html#type-aspect_terminate_before_internal">cloudi_service_api:aspect_terminate_before_internal()</a> | <a href="cloudi_service_api.html#type-aspect_terminate_before_external">cloudi_service_api:aspect_terminate_before_external()</a>], limit = <a href="cloudi_service_api.html#type-limit_external">cloudi_service_api:limit_external()</a>, owner = <a href="cloudi_service_api.html#type-owner_external">cloudi_service_api:owner_external()</a>, nice = <a href="cloudi_service_api.html#type-nice_external">cloudi_service_api:nice_external()</a>, cgroup = <a href="cloudi_service_api.html#type-cgroup_external">cloudi_service_api:cgroup_external()</a>, chroot = <a href="cloudi_service_api.html#type-chroot_external">cloudi_service_api:chroot_external()</a>, directory = <a href="cloudi_service_api.html#type-directory_external">cloudi_service_api:directory_external()</a>, 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, <a href="cloudi_service_api.html#type-max_heap_size_options">cloudi_service_api:max_heap_size_options()</a>} | {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, <a href="cloudi_service_api.html#type-max_heap_size_options">cloudi_service_api:max_heap_size_options()</a>} | {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, <a href="cloudi_service_api.html#type-max_heap_size_options">cloudi_service_api:max_heap_size_options()</a>} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, <a href="cloudi_service_api.html#type-period_seconds">cloudi_service_api:period_seconds()</a>} | {rate_request_min, number()}] | tuple(), reload = boolean()}, uuid = <a href="cloudi_service_api.html#type-service_id">cloudi_service_api:service_id()</a>}], nodes = #config_nodes{nodes = [node()], reconnect_start = <a href="cloudi_service_api.html#type-node_reconnect_delay_seconds">cloudi_service_api:node_reconnect_delay_seconds()</a>, reconnect_delay = <a href="cloudi_service_api.html#type-node_reconnect_delay_seconds">cloudi_service_api:node_reconnect_delay_seconds()</a>, 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}}) -&gt; {ok, pid()} | {error, any()}</tt><br></p>
</div><p>
<h4><a name="Start_the_logging_server_with_the_supplied_configuration.">Start the logging server with the supplied configuration.</a></h4>
</p>
<h3 class="function"><a name="stdout_set-1">stdout_set/1</a></h3>
<div class="spec">
<p><tt>stdout_set(Stdout::boolean()) -&gt; ok</tt><br></p>
</div><p>
<h4><a name="Change_the_stdout_output_state.">Change the stdout output state.</a></h4>
</p>
<h3 class="function"><a name="syslog_set-1">syslog_set/1</a></h3>
<div class="spec">
<p><tt>syslog_set(SyslogConfig::#config_logging_syslog{identity = <a href="cloudi_service_api.html#type-logging_syslog_identity">cloudi_service_api:logging_syslog_identity()</a>, facility = <a href="cloudi_service_api.html#type-logging_syslog_facility">cloudi_service_api:logging_syslog_facility()</a>, level = <a href="cloudi_service_api.html#type-loglevel">cloudi_service_api:loglevel()</a>, transport = <a href="cloudi_service_api.html#type-logging_syslog_transport">cloudi_service_api:logging_syslog_transport()</a>, transport_options = <a href="cloudi_service_api.html#type-logging_syslog_transport_options">cloudi_service_api:logging_syslog_transport_options()</a>, protocol = <a href="cloudi_service_api.html#type-logging_syslog_protocol">cloudi_service_api:logging_syslog_protocol()</a>, path = <a href="cloudi_service_api.html#type-logging_syslog_path">cloudi_service_api:logging_syslog_path()</a>, host = <a href="cloudi_service_api.html#type-logging_syslog_host">cloudi_service_api:logging_syslog_host()</a>, port = <a href="cloudi_service_api.html#type-logging_syslog_port">cloudi_service_api:logging_syslog_port()</a>} | undefined) -&gt; ok</tt><br></p>
</div><p>
<h4><a name="Change_the_syslog_configuration.">Change the syslog configuration.</a></h4>
</p>
<h3 class="function"><a name="terminate-2">terminate/2</a></h3>
<div class="spec">
<p><tt>terminate(X1, State) -&gt; any()</tt></p>
</div>
<h3 class="function"><a name="trace-8">trace/8</a></h3>
<div class="spec">
<p><tt>trace(Mode::async | sync, Process::atom() | {atom(), node()}, Module::atom(), Line::non_neg_integer(), Function::atom(), Arity::arity() | undefined, Format::string(), Args::list() | undefined) -&gt; ok</tt><br></p>
</div><p>
<h4><a name="Trace_log_message.">Trace log message.</a></h4>
which reports subsystem data that is only for tracing execution.
Called with ?LOG_TRACE(Format, []).</p>
<h3 class="function"><a name="warn-8">warn/8</a></h3>
<div class="spec">
<p><tt>warn(Mode::async | sync, Process::atom() | {atom(), node()}, Module::atom(), Line::non_neg_integer(), Function::atom(), Arity::arity() | undefined, Format::string(), Args::list() | undefined) -&gt; ok</tt><br></p>
</div><p>
<h4><a name="Warning_log_message.">Warning log message.</a></h4>
which indicates an unexpected occurance was found in a subsystem.
Called with ?LOG_WARN(Format, []).</p>
<hr>
<div class="navbar"><a name="#navbar_bottom"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
<p><i>Generated by EDoc, Jun 7 2017, 10:27:08.</i></p>
</body>
</html>