Configuration Guide

The static configuration for RadLoggerPy lives should be placed in: radloggerpy.conf and it is described below.

Configuration

RadLoggerPy, like most OpenStack projects, uses INI-style configuration files to configure various services and utilities. This functionality is provided by the oslo.config project. oslo.config supports loading configuration from both individual configuration files and a directory of configuration files. By default, RadLoggerPy will search the below directories for the config files - radloggerpy.conf and {prog}.conf, where prog corresponds to the name of the service or utility being configured such as raddloggercli:

  • ${HOME}/.radloggerpy

  • ${HOME}

  • /etc/radloggerpy

  • /etc

Where a matching file is found, all other directories will be skipped. This behavior can be overridden by using the --config-file and --config-dir options provided for each executable.

Configuration Parameters

database

filename
Type:

string

Default:

radlogger.sqlite

Name of database file

devices

concurrent_worker_amount
Type:

integer

Default:

-1

Minimum Value:

-1

Number of concurrent workers to use in addition to the main thread. Setting this to -1 means the value will bebased on nproc which returns the number of availableconcurrent threads (not cores).

minimal_polling_delay
Type:

integer

Default:

1000

Minimum Value:

0

Minimum time in between a device pulling for data, going to sleep and pulling for data again. Value is expressed in milliseconds (1/1000 second).

restart_on_error
Type:

boolean

Default:

True

Should the device manager restart devices upon encountering an error.

min_restart_delay
Type:

integer

Default:

30

Minimum Value:

-1

Minimal amount of time in seconds before a device shouldbe restarted after it has entered error state. -1 for nominimal delay.

max_consecutive_restart
Type:

integer

Default:

3

Minimum Value:

-1

Maximum amount of consecutive device restarts without the device returning any measurements. -1 for unlimited.This option is ignored when restart_on_error is false.

Sample Configuration

Important

The sample configuration file is auto-generated from RadLoggerPy when this documentation is built. You must ensure your version of RadLoggerPy matches the version of this documentation.

[DEFAULT]

#
# From oslo.log
#

# If set to true, the logging level will be set to DEBUG instead of the default
# INFO level. (boolean value)
# Note: This option can be changed without restarting.
#debug = false

# The name of a logging configuration file. This file is appended to any
# existing logging configuration files. For details about logging configuration
# files, see the Python logging module documentation. Note that when logging
# configuration files are used then all logging configuration is set in the
# configuration file and other logging configuration options are ignored (for
# example, log-date-format). (string value)
# Note: This option can be changed without restarting.
# Deprecated group/name - [DEFAULT]/log_config
#log_config_append = <None>

# Defines the format string for %%(asctime)s in log records. Default:
# %(default)s . This option is ignored if log_config_append is set. (string
# value)
#log_date_format = %Y-%m-%d %H:%M:%S

# (Optional) Name of log file to send logging output to. If no default is set,
# logging will go to stderr as defined by use_stderr. This option is ignored if
# log_config_append is set. (string value)
# Deprecated group/name - [DEFAULT]/logfile
#log_file = <None>

# (Optional) The base directory used for relative log_file  paths. This option
# is ignored if log_config_append is set. (string value)
# Deprecated group/name - [DEFAULT]/logdir
#log_dir = <None>

# Uses logging handler designed to watch file system. When log file is moved or
# removed this handler will open a new log file with specified path
# instantaneously. It makes sense only if log_file option is specified and
# Linux platform is used. This option is ignored if log_config_append is set.
# (boolean value)
#watch_log_file = false

# Use syslog for logging. Existing syslog format is DEPRECATED and will be
# changed later to honor RFC5424. This option is ignored if log_config_append
# is set. (boolean value)
#use_syslog = false

# Enable journald for logging. If running in a systemd environment you may wish
# to enable journal support. Doing so will use the journal native protocol
# which includes structured metadata in addition to log messages.This option is
# ignored if log_config_append is set. (boolean value)
#use_journal = false

# Syslog facility to receive log lines. This option is ignored if
# log_config_append is set. (string value)
#syslog_log_facility = LOG_USER

# Use JSON formatting for logging. This option is ignored if log_config_append
# is set. (boolean value)
#use_json = false

# Log output to standard error. This option is ignored if log_config_append is
# set. (boolean value)
#use_stderr = false

# Log output to Windows Event Log. (boolean value)
#use_eventlog = false

# The amount of time before the log files are rotated. This option is ignored
# unless log_rotation_type is set to "interval". (integer value)
#log_rotate_interval = 1

# Rotation interval type. The time of the last file change (or the time when
# the service was started) is used when scheduling the next rotation. (string
# value)
# Possible values:
# Seconds - <No description provided>
# Minutes - <No description provided>
# Hours - <No description provided>
# Days - <No description provided>
# Weekday - <No description provided>
# Midnight - <No description provided>
#log_rotate_interval_type = days

# Maximum number of rotated log files. (integer value)
#max_logfile_count = 30

# Log file maximum size in MB. This option is ignored if "log_rotation_type" is
# not set to "size". (integer value)
#max_logfile_size_mb = 200

# Log rotation type. (string value)
# Possible values:
# interval - Rotate logs at predefined time intervals.
# size - Rotate logs once they reach a predefined size.
# none - Do not rotate log files.
#log_rotation_type = none

# Format string to use for log messages with context. Used by
# oslo_log.formatters.ContextFormatter (string value)
#logging_context_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(global_request_id)s %(request_id)s %(user_identity)s] %(instance)s%(message)s

# Format string to use for log messages when context is undefined. Used by
# oslo_log.formatters.ContextFormatter (string value)
#logging_default_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s

# Additional data to append to log message when logging level for the message
# is DEBUG. Used by oslo_log.formatters.ContextFormatter (string value)
#logging_debug_format_suffix = %(funcName)s %(pathname)s:%(lineno)d

# Prefix each line of exception output with this format. Used by
# oslo_log.formatters.ContextFormatter (string value)
#logging_exception_prefix = %(asctime)s.%(msecs)03d %(process)d ERROR %(name)s %(instance)s

# Defines the format string for %(user_identity)s that is used in
# logging_context_format_string. Used by oslo_log.formatters.ContextFormatter
# (string value)
#logging_user_identity_format = %(user)s %(project)s %(domain)s %(system_scope)s %(user_domain)s %(project_domain)s

# List of package logging levels in logger=LEVEL pairs. This option is ignored
# if log_config_append is set. (list value)
#default_log_levels = amqp=WARN,amqplib=WARN,boto=WARN,qpid=WARN,sqlalchemy=WARN,suds=INFO,oslo.messaging=INFO,oslo_messaging=INFO,iso8601=WARN,requests.packages.urllib3.connectionpool=WARN,urllib3.connectionpool=WARN,websocket=WARN,requests.packages.urllib3.util.retry=WARN,urllib3.util.retry=WARN,keystonemiddleware=WARN,routes.middleware=WARN,stevedore=WARN,taskflow=WARN,keystoneauth=WARN,oslo.cache=INFO,oslo_policy=INFO,dogpile.core.dogpile=INFO

# Enables or disables publication of error events. (boolean value)
#publish_errors = false

# The format for an instance that is passed with the log message. (string
# value)
#instance_format = "[instance: %(uuid)s] "

# The format for an instance UUID that is passed with the log message. (string
# value)
#instance_uuid_format = "[instance: %(uuid)s] "

# Interval, number of seconds, of log rate limiting. (integer value)
#rate_limit_interval = 0

# Maximum number of logged messages per rate_limit_interval. (integer value)
#rate_limit_burst = 0

# Log level name used by rate limiting: CRITICAL, ERROR, INFO, WARNING, DEBUG
# or empty string. Logs with level greater or equal to rate_limit_except_level
# are not filtered. An empty string means that all levels are filtered. (string
# value)
#rate_limit_except_level = CRITICAL

# Enables or disables fatal status of deprecations. (boolean value)
#fatal_deprecations = false


[database]

#
# From radloggerpy
#

# Name of database file (string value)
#filename = radlogger.sqlite


[devices]

#
# From radloggerpy
#

# Number of concurrent workers to use in addition to the main thread. Setting
# this to -1 means the value will bebased on nproc which returns the number of
# availableconcurrent threads (not cores). (integer value)
# Minimum value: -1
#concurrent_worker_amount = -1

# Minimum time in between a device pulling for data, going to sleep and pulling
# for data again. Value is expressed in milliseconds (1/1000 second). (integer
# value)
# Minimum value: 0
#minimal_polling_delay = 1000

# Should the device manager restart devices upon encountering an error.
# (boolean value)
#restart_on_error = true

# Minimal amount of time in seconds before a device shouldbe restarted after it
# has entered error state. -1 for nominimal delay. (integer value)
# Minimum value: -1
#min_restart_delay = 30

# Maximum amount of consecutive device restarts without the device returning
# any measurements. -1 for unlimited.This option is ignored when
# restart_on_error is false. (integer value)
# Minimum value: -1
#max_consecutive_restart = 3