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-2015 Michael Truog</p>
<p><b>Version:</b> 1.4.1 Apr 12 2015 20:34:49
------------------------------------------------------------------------</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="#current_function-0">current_function/0</a></td><td>
<h4><a name="Get_the_current_function_name_being_executed.">Get the current function name being executed.</a></h4>.</td></tr>
<tr><td valign="top"><a href="#debug-6">debug/6</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-6">error/6</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-6">fatal/6</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_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="#formatters_set-2">formatters_set/2</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-6">info/6</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="#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="#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-6">trace/6</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-6">warn/6</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="current_function-0">current_function/0</a></h3>
<div class="spec">
<p><tt>current_function() -&gt; atom()</tt><br></p>
</div><p>
<h4><a name="Get_the_current_function_name_being_executed.">Get the current function name being executed.</a></h4>
</p>
<h3 class="function"><a name="debug-6">debug/6</a></h3>
<div class="spec">
<p><tt>debug(Mode::async | sync, Process::atom() | {atom(), node()}, Module::atom(), Line::integer(), 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-6">error/6</a></h3>
<div class="spec">
<p><tt>error(Mode::async | sync, Process::atom() | {atom(), node()}, Module::atom(), Line::integer(), 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-6">fatal/6</a></h3>
<div class="spec">
<p><tt>fatal(Mode::async | sync, Process::atom() | {atom(), node()}, Module::atom(), Line::integer(), 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, Config, X3) -&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.
Use <code>{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}]}]}]}</code> for
legacy log output with this formatter function.</p>
<h3 class="function"><a name="formatters_set-2">formatters_set/2</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 = undefined | 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 = undefined | 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, Timeout::<a href="cloudi_service_api.html#type-api_timeout_milliseconds">cloudi_service_api:api_timeout_milliseconds()</a>) -&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-6">info/6</a></h3>
<div class="spec">
<p><tt>info(Mode::async | sync, Process::atom() | {atom(), node()}, Module::atom(), Line::integer(), 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="start_link-1">start_link/1</a></h3>
<div class="spec">
<p><tt>start_link(Config::#config{uuid_generator = undefined | <a href="deps/uuid/doc/uuid.html#type-state">uuid:state()</a>, logging = #config_logging{file = undefined | string(), level = <a href="cloudi_service_api.html#type-loglevel">cloudi_service_api:loglevel()</a>, redirect = undefined | node(), syslog = undefined | #config_logging_syslog{identity = string(), facility = <a href="syslog.html#type-facility">syslog:facility()</a>, level = <a href="cloudi_service_api.html#type-loglevel">cloudi_service_api:loglevel()</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 = undefined | 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 = undefined | 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>}}, acl = any(), services = [#config_service_internal{prefix = undefined | string(), module = undefined | atom() | <a href="file.html#type-filename">file:filename()</a>, file_path = undefined | <a href="file.html#type-filename">file:filename()</a>, args = undefined | list(), dest_refresh = undefined | <a href="cloudi_service_api.html#type-dest_refresh">cloudi_service_api:dest_refresh()</a>, timeout_init = undefined | <a href="cloudi_service_api.html#type-timeout_milliseconds">cloudi_service_api:timeout_milliseconds()</a>, timeout_async = undefined | <a href="cloudi_service_api.html#type-timeout_milliseconds">cloudi_service_api:timeout_milliseconds()</a>, timeout_sync = undefined | <a href="cloudi_service_api.html#type-timeout_milliseconds">cloudi_service_api:timeout_milliseconds()</a>, timeout_term = undefined | <a href="cloudi_service_api.html#type-timeout_milliseconds">cloudi_service_api:timeout_milliseconds()</a>, dest_list_deny = undefined | <a href="cloudi_service_api.html#type-dest_list">cloudi_service_api:dest_list()</a>, dest_list_allow = undefined | <a href="cloudi_service_api.html#type-dest_list">cloudi_service_api:dest_list()</a>, count_process = undefined | pos_integer(), max_r = undefined | non_neg_integer(), max_t = undefined | <a href="cloudi_service_api.html#type-seconds">cloudi_service_api:seconds()</a>, options = undefined | #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(), 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(), scope = atom(), monkey_latency = [{time_uniform_min, <a href="cloudi_service_api.html#type-latency_time_milliseconds">cloudi_service_api:latency_time_milliseconds()</a>} | {time_uniform_max, <a href="cloudi_service_api.html#type-latency_time_milliseconds">cloudi_service_api:latency_time_milliseconds()</a>} | {time_gaussian_mean, <a href="cloudi_service_api.html#type-latency_time_milliseconds">cloudi_service_api:latency_time_milliseconds()</a>} | {time_gaussian_stddev, float()} | {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(), 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>, application_name = atom(), request_pid_uses = infinity | pos_integer(), request_pid_options = [{fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()}], info_pid_uses = infinity | pos_integer(), info_pid_options = [{fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()}], 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 = undefined | <a href="cloudi_service_api.html#type-service_id">cloudi_service_api:service_id()</a>} | #config_service_external{prefix = undefined | string(), file_path = undefined | <a href="file.html#type-filename">file:filename()</a>, args = undefined | string(), env = undefined | [{string(), string()}], dest_refresh = undefined | <a href="cloudi_service_api.html#type-dest_refresh">cloudi_service_api:dest_refresh()</a>, protocol = undefined | local | tcp | udp, buffer_size = undefined | pos_integer(), timeout_init = undefined | <a href="cloudi_service_api.html#type-timeout_milliseconds">cloudi_service_api:timeout_milliseconds()</a>, timeout_async = undefined | <a href="cloudi_service_api.html#type-timeout_milliseconds">cloudi_service_api:timeout_milliseconds()</a>, timeout_sync = undefined | <a href="cloudi_service_api.html#type-timeout_milliseconds">cloudi_service_api:timeout_milliseconds()</a>, timeout_term = undefined | <a href="cloudi_service_api.html#type-timeout_milliseconds">cloudi_service_api:timeout_milliseconds()</a>, dest_list_deny = undefined | <a href="cloudi_service_api.html#type-dest_list">cloudi_service_api:dest_list()</a>, dest_list_allow = undefined | <a href="cloudi_service_api.html#type-dest_list">cloudi_service_api:dest_list()</a>, count_process = undefined | pos_integer(), count_thread = undefined | pos_integer(), max_r = undefined | non_neg_integer(), max_t = undefined | <a href="cloudi_service_api.html#type-seconds">cloudi_service_api:seconds()</a>, options = undefined | #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(), 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(), scope = atom(), monkey_latency = [{time_uniform_min, <a href="cloudi_service_api.html#type-latency_time_milliseconds">cloudi_service_api:latency_time_milliseconds()</a>} | {time_uniform_max, <a href="cloudi_service_api.html#type-latency_time_milliseconds">cloudi_service_api:latency_time_milliseconds()</a>} | {time_gaussian_mean, <a href="cloudi_service_api.html#type-latency_time_milliseconds">cloudi_service_api:latency_time_milliseconds()</a>} | {time_gaussian_stddev, float()} | {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(), 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>, application_name = atom(), request_pid_uses = infinity | pos_integer(), request_pid_options = [{fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()}], info_pid_uses = infinity | pos_integer(), info_pid_options = [{fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()}], 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 = undefined | <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 = undefined | multicast | ec2, module = undefined | module(), start_f = undefined | atom(), start_a = undefined | list(), discover_f = undefined | atom(), discover_a = undefined | list(), stop_f = undefined | atom(), stop_a = undefined | 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="syslog_set-1">syslog_set/1</a></h3>
<div class="spec">
<p><tt>syslog_set(SyslogConfig::#config_logging_syslog{identity = string(), facility = <a href="syslog.html#type-facility">syslog:facility()</a>, 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_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-6">trace/6</a></h3>
<div class="spec">
<p><tt>trace(Mode::async | sync, Process::atom() | {atom(), node()}, Module::atom(), Line::integer(), 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-6">warn/6</a></h3>
<div class="spec">
<p><tt>warn(Mode::async | sync, Process::atom() | {atom(), node()}, Module::atom(), Line::integer(), 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, Apr 12 2015, 20:34:49.</i></p>
</body>
</html>