pyloggr.config

Small hack to be able to import configuration from environment variable.

class Config[source]

Bases: object

Config object can be imported and contains configuration parameters

class ConsumerConfig(queue, qos=None, binding_key=None)[source]

Bases: pyloggr.config.GenericConfig

Parameters for RabbitMQ consumers

class FilterMachineConfig(source, destination, filters)[source]

Bases: pyloggr.config.GenericConfig

Filter machines configuration

class GenericConfig[source]

Bases: object

Base class for configurations

classmethod from_dict(d)[source]

Build configuration object from a dictionnary

Parameters:d – dictionnary
class GlobalConfig(HMAC_KEY, RABBITMQ_HTTP, COOKIE_SECRET, MAX_WAIT_SECONDS_BEFORE_SHUTDOWN=10, PIDS_DIRECTORY='~/pids', SLEEP_TIME=60, UID=None, GID=None, HTTP_PORT=8080, EXCHANGE_SPACE='~/lmdb/exchange', RESCUE_QUEUE_DIRNAME='~/lmdb/rescue', **kwargs)[source]

Bases: object

Placeholder for all configuration parameters

classmethod load(config_dirname)[source]
Parameters:config_dirname – configuration directory path
Return type:GlobalConfig
class HarvestDirectory(directory_name, app_name=u'', packer_group=u'', recursive=False, facility=u'', severity=u'', source=u'')[source]

Bases: pyloggr.config.GenericConfig

Directories to harvest file logs from

class LoggingConfig(level='DEBUG', **kwargs)[source]

Bases: pyloggr.config.GenericConfig

Where to log

class PublisherConfig(exchange, application_id='pyloggr', event_type='', binding_key='')[source]

Bases: pyloggr.config.GenericConfig

Parameters for RabbitMQ publishers

class RabbitMQConfig(host, user, password, port=5672, vhost='pyloggr')[source]

Bases: pyloggr.config.GenericConfig

RabbitMQ connection parameters

class SSLConfig(certfile, keyfile, ssl_version='PROTOCOL_SSLv23', ca_certs='', cert_reqs=0)[source]

Bases: pyloggr.config.GenericConfig

Syslog servers SSL configuration

class Shipper2FSConfig(directory, filename, source_queue, seconds_between_flush=10, frmt='RSYSLOG')[source]

Bases: pyloggr.config.GenericConfig

Parameters for filesystem shippers

class Shipper2PGSQL(host, user, password, source_queue, event_stack_size=500, port=5432, dbname='pyloggr', tablename='events', max_pool=10, connect_timeout=10)[source]

Bases: pyloggr.config.GenericConfig

Parameters for PostgreSQL shippers

class Shipper2SyslogConfig(host, port, source_queue, use_ssl=False, protocol='tcp', frmt='RFC5424', source_qos=500, verify=True, hostname='', ca_certs=None, client_cert=None, client_key=None)[source]

Bases: pyloggr.config.GenericConfig

Parameters for syslog shippers

class SyslogAgentConfig(UID=None, GID=None, destinations=None, tcp_ports=None, udp_ports=None, relp_ports=None, pause=5, lmdb_db_name='~/lmdb/agent_queue', localhost_only=True, server_deadline=120, socket_names=None, pids_directory='~/pids', logs_directory='~/logs', HMAC_KEY=None, logs_level='DEBUG')[source]

Bases: pyloggr.config.GenericConfig

Parameters for the syslog agent

class SyslogServerConfig(name, ports=None, stype='tcp', localhost_only=False, socket_names=None, ssl=None, packer_groups=None, compress=False)[source]

Bases: pyloggr.config.GenericConfig

Parameters for syslog servers

set_configuration(configuration_directory)[source]

Set up configuration

Parameters:configuration_directory – configuration parent directory
Returns:
set_logging(filename, level='DEBUG')[source]

Set logging configuration

Parameters:
  • filename (str) – logs file name
  • level (str) – logs verbosity