|
libadc-cxx 1.0.0
Structured logging for scientific computing
|
syslog publisher_api implementation. This plugin sends messages to syslog synchronously. Multiple independent instances of this plugin may be used simultaneously, but the underlying syslog setting (priority) will be that of the most recently created instance. More...


Public Member Functions | |
| syslog_plugin () | |
| int | publish (std::shared_ptr< builder_api > b) |
| Publish the content of the builder. | |
| int | config (const std::map< std::string, std::string > &m) |
| Configure the plugin with the options given. | |
| int | config (const std::map< std::string, std::string > &m, std::string_view env_prefix) |
| Configure the plugin with the options given and the corresponding environment variables. | |
| const std::map< const std::string, const std::string > & | get_option_defaults () |
| Look up the settable options and their defaults. | |
| int | initialize () |
| Ready the plugin to publish following the configuration options set or defaulted. | |
| void | finalize () |
| Stop publishing and release any resources held for managing publication. | |
| void | pause () |
| Pause publishing until a call to resume. Duplicate calls are allowed. | |
| void | resume () |
| Resume publishing Duplicate calls are allowed. | |
| string_view | name () const |
| string_view | version () const |
| ~syslog_plugin () | |
syslog publisher_api implementation. This plugin sends messages to syslog synchronously. Multiple independent instances of this plugin may be used simultaneously, but the underlying syslog setting (priority) will be that of the most recently created instance.
If not configured, the default priority is LOG_INFO. env("ADC_SYSLOG_PLUGIN_PRIORITY") overrides the default if defined with a priority string from /usr/include/sys/syslog.h.
Definition at line 41 of file syslog.ipp.
|
inline |
Definition at line 75 of file syslog.ipp.
|
inline |
Definition at line 129 of file syslog.ipp.
|
inlinevirtual |
Publish the content of the builder.
| b | converted to a single json object and published |
Implements adc::publisher_api.
Definition at line 80 of file syslog.ipp.
|
inlinevirtual |
Configure the plugin with the options given.
| m | a map with keys documented in the plugin-specific header. |
For plugin QQQ, Environment variables ADC_QQQ_PLUGIN_* will override the source code default for any key not defined in m. Here QQQ is the uppercase version of the plugin name.
Implements adc::publisher_api.
Definition at line 90 of file syslog.ipp.
|
inlinevirtual |
Configure the plugin with the options given and the corresponding environment variables.
| m | a map with keys documented in the plugin-specific header. |
| env_prefix | is prepended to the expected keys for the plugin and values found with getenv that match are used, overriding elements of m. Typically, env_prefix will be PPP_ADC_QQQ_PLUGIN_ if application PPP wants to override the defaults of plugin QQQ. Here QQQ is the uppercase version of the plugin name. |
Implements adc::publisher_api.
Definition at line 94 of file syslog.ipp.
|
inlinevirtual |
Look up the settable options and their defaults.
Some plugins without options will return an empty map.
Implements adc::publisher_api.
Definition at line 99 of file syslog.ipp.
|
inlinevirtual |
Ready the plugin to publish following the configuration options set or defaulted.
Implements adc::publisher_api.
Definition at line 103 of file syslog.ipp.
|
inlinevirtual |
Stop publishing and release any resources held for managing publication.
Implements adc::publisher_api.
Definition at line 110 of file syslog.ipp.
|
inlinevirtual |
Pause publishing until a call to resume. Duplicate calls are allowed.
Implements adc::publisher_api.
Definition at line 113 of file syslog.ipp.
|
inlinevirtual |
Resume publishing Duplicate calls are allowed.
Implements adc::publisher_api.
Definition at line 117 of file syslog.ipp.
|
inlinevirtual |
Implements adc::publisher_api.
Definition at line 121 of file syslog.ipp.
|
inlinevirtual |
Implements adc::publisher_api.
Definition at line 125 of file syslog.ipp.