Documentation

Configuration
in package
implements ConfigurationInterface

This class contains the configuration information for the bundle

This information is solely responsible for how the different configuration sections are normalized, and merged.

Possible handler types and related configurations (brackets indicate optional params):

  • service:

    • id
  • stream:

    • path: string
    • [level]: level name or int value, defaults to DEBUG
    • [bubble]: bool, defaults to true
    • [file_permission]: int|null, defaults to null (0644)
    • [use_locking]: bool, defaults to false
  • console:

    • [verbosity_levels]: level => verbosity configuration
    • [level]: level name or int value, defaults to DEBUG
    • [bubble]: bool, defaults to true
  • firephp:

    • [level]: level name or int value, defaults to DEBUG
    • [bubble]: bool, defaults to true
  • browser_console:

    • [level]: level name or int value, defaults to DEBUG
    • [bubble]: bool, defaults to true
  • gelf:

    • publisher: {id: ...} or {hostname: ..., port: ..., chunk_size: ...}
    • [level]: level name or int value, defaults to DEBUG
    • [bubble]: bool, defaults to true
  • chromephp:

    • [level]: level name or int value, defaults to DEBUG
    • [bubble]: bool, defaults to true
  • rotating_file:

    • path: string
    • [max_files]: files to keep, defaults to zero (infinite)
    • [level]: level name or int value, defaults to DEBUG
    • [bubble]: bool, defaults to true
    • [file_permission]: string|null, defaults to null
    • [use_locking]: bool, defaults to false
    • [filename_format]: string, defaults to '{filename}-{date}'
    • [date_format]: string, defaults to 'Y-m-d'
  • mongo:

    • mongo:
      • id: optional if host is given
      • host: database host name, optional if id is given
      • [port]: defaults to 27017
      • [user]: database user name
      • pass: mandatory only if user is present
      • [database]: defaults to monolog
      • [collection]: defaults to logs
    • [level]: level name or int value, defaults to DEBUG
    • [bubble]: bool, defaults to true
  • elastic_search:

    • elasticsearch:
      • id: optional if host is given
      • host: elastic search host name, with scheme (e.g. "https://127.0.0.1:9200")
      • [user]: elastic search user name
      • [password]: elastic search user password
    • [index]: index name, defaults to monolog
    • [document_type]: document_type, defaults to logs
    • [level]: level name or int value, defaults to DEBUG
    • [bubble]: bool, defaults to true
  • elastica:

    • elasticsearch:
      • id: optional if host is given
      • host: elastic search host name. Do not prepend with http(s)://
      • [port]: defaults to 9200
      • [transport]: transport protocol (http by default)
      • [user]: elastic search user name
      • [password]: elastic search user password
    • [index]: index name, defaults to monolog
    • [document_type]: document_type, defaults to logs
    • [level]: level name or int value, defaults to DEBUG
    • [bubble]: bool, defaults to true
  • redis:

    • redis:
      • id: optional if host is given
      • host: 127.0.0.1
      • password: null
      • port: 6379
      • database: 0
      • key_name: monolog_redis
  • predis:

    • redis:
      • id: optional if host is given
      • host: tcp://10.0.0.1:6379
      • key_name: monolog_redis
  • fingers_crossed:

    • handler: the wrapped handler's name
    • [action_level|activation_strategy]: minimum level or service id to activate the handler, defaults to WARNING
    • [excluded_404s]: if set, the strategy will be changed to one that excludes 404s coming from URLs matching any of those patterns
    • [excluded_http_codes]: if set, the strategy will be changed to one that excludes specific HTTP codes (requires Symfony Monolog bridge 4.1+)
    • [buffer_size]: defaults to 0 (unlimited)
    • [stop_buffering]: bool to disable buffering once the handler has been activated, defaults to true
    • [passthru_level]: level name or int value for messages to always flush, disabled by default
    • [bubble]: bool, defaults to true
  • filter:

    • handler: the wrapped handler's name
    • [accepted_levels]: list of levels to accept
    • [min_level]: minimum level to accept (only used if accepted_levels not specified)
    • [max_level]: maximum level to accept (only used if accepted_levels not specified)
    • [bubble]: bool, defaults to true
  • buffer:

    • handler: the wrapped handler's name
    • [buffer_size]: defaults to 0 (unlimited)
    • [level]: level name or int value, defaults to DEBUG
    • [bubble]: bool, defaults to true
    • [flush_on_overflow]: bool, defaults to false
  • deduplication:

    • handler: the wrapped handler's name
    • [store]: The file/path where the deduplication log should be kept, defaults to %kernel.cache_dir%/monolog_dedup_*
    • [deduplication_level]: The minimum logging level for log records to be looked at for deduplication purposes, defaults to ERROR
    • [time]: The period (in seconds) during which duplicate entries should be suppressed after a given log is sent through, defaults to 60
    • [bubble]: bool, defaults to true
  • group:

    • members: the wrapped handlers by name
    • [bubble]: bool, defaults to true
  • whatfailuregroup:

    • members: the wrapped handlers by name
    • [bubble]: bool, defaults to true
  • fallbackgroup

    • members: the wrapped handlers by name
    • [bubble]: bool, defaults to true
  • syslog:

    • ident: string
    • [facility]: defaults to 'user', use any of the LOG_* facility constant but without LOG_ prefix, e.g. user for LOG_USER
    • [logopts]: defaults to LOG_PID
    • [level]: level name or int value, defaults to DEBUG
    • [bubble]: bool, defaults to true
  • syslogudp:

    • host: syslogd host name
    • [port]: defaults to 514
    • [facility]: defaults to 'user', use any of the LOG_* facility constant but without LOG_ prefix, e.g. user for LOG_USER
    • [logopts]: defaults to LOG_PID
    • [level]: level name or int value, defaults to DEBUG
    • [bubble]: bool, defaults to true
    • [ident]: string, defaults to
  • swift_mailer:

    • from_email: optional if email_prototype is given
    • to_email: optional if email_prototype is given
    • subject: optional if email_prototype is given
    • [email_prototype]: service id of a message, defaults to a default message with the three fields above
    • [content_type]: optional if email_prototype is given, defaults to text/plain
    • [mailer]: mailer service, defaults to mailer
    • [level]: level name or int value, defaults to DEBUG
    • [bubble]: bool, defaults to true
    • [lazy]: use service lazy loading, bool, defaults to true
  • native_mailer:

    • from_email: string
    • to_email: string
    • subject: string
    • [level]: level name or int value, defaults to DEBUG
    • [bubble]: bool, defaults to true
    • [headers]: optional array containing additional headers: ['Foo: Bar', '...']
  • symfony_mailer:

    • from_email: optional if email_prototype is given
    • to_email: optional if email_prototype is given
    • subject: optional if email_prototype is given
    • [email_prototype]: service id of a message, defaults to a default message with the three fields above
    • [mailer]: mailer service id, defaults to mailer.mailer
    • [level]: level name or int value, defaults to DEBUG
    • [bubble]: bool, defaults to true
  • socket:

    • connection_string: string
    • [level]: level name or int value, defaults to DEBUG
    • [bubble]: bool, defaults to true
  • pushover:

    • token: pushover api token
    • user: user id or array of ids
    • [title]: optional title for messages, defaults to the server hostname
    • [level]: level name or int value, defaults to DEBUG
    • [bubble]: bool, defaults to true
  • raven / sentry:

    • dsn: connection string
    • client_id: Raven client custom service id (optional)
    • [release]: release number of the application that will be attached to logs, defaults to null
    • [level]: level name or int value, defaults to DEBUG
    • [bubble]: bool, defaults to true
    • [auto_log_stacks]: bool, defaults to false
    • [environment]: string, default to null (no env specified)
  • sentry:

    • hub_id: Sentry hub custom service id (optional)
    • [fill_extra_context]: bool, defaults to false
  • newrelic:

    • [level]: level name or int value, defaults to DEBUG
    • [bubble]: bool, defaults to true
    • [app_name]: new relic app name, default null
  • hipchat:

    • token: hipchat api token
    • room: room id or name
    • [notify]: defaults to false
    • [nickname]: defaults to Monolog
    • [level]: level name or int value, defaults to DEBUG
    • [bubble]: bool, defaults to true
    • [use_ssl]: bool, defaults to true
    • [message_format]: text or html, defaults to text
    • [host]: defaults to "api.hipchat.com"
    • [api_version]: defaults to "v1"
  • slack:

    • token: slack api token
    • channel: channel name (with starting #)
    • [bot_name]: defaults to Monolog
    • [icon_emoji]: defaults to null
    • [use_attachment]: bool, defaults to true
    • [use_short_attachment]: bool, defaults to false
    • [include_extra]: bool, defaults to false
    • [level]: level name or int value, defaults to DEBUG
    • [bubble]: bool, defaults to true
  • slackwebhook:

    • webhook_url: slack webhook URL
    • channel: channel name (with starting #)
    • [bot_name]: defaults to Monolog
    • [icon_emoji]: defaults to null
    • [use_attachment]: bool, defaults to true
    • [use_short_attachment]: bool, defaults to false
    • [include_extra]: bool, defaults to false
    • [level]: level name or int value, defaults to DEBUG
    • [bubble]: bool, defaults to true
  • slackbot:

    • team: slack team slug
    • token: slackbot token
    • channel: channel name (with starting #)
    • [level]: level name or int value, defaults to DEBUG
    • [bubble]: bool, defaults to true
  • cube:

    • url: http/udp url to the cube server
    • [level]: level name or int value, defaults to DEBUG
    • [bubble]: bool, defaults to true
  • amqp:

    • exchange: service id of an AMQPExchange
    • [exchange_name]: string, defaults to log
    • [level]: level name or int value, defaults to DEBUG
    • [bubble]: bool, defaults to true
  • error_log:

    • [message_type]: int 0 or 4, defaults to 0
    • [level]: level name or int value, defaults to DEBUG
    • [bubble]: bool, defaults to true
  • null:

    • [level]: level name or int value, defaults to DEBUG
    • [bubble]: bool, defaults to true
  • test:

    • [level]: level name or int value, defaults to DEBUG
    • [bubble]: bool, defaults to true
  • debug:

    • [level]: level name or int value, defaults to DEBUG
    • [bubble]: bool, defaults to true
  • loggly:

    • token: loggly api token
    • [level]: level name or int value, defaults to DEBUG
    • [bubble]: bool, defaults to true
    • [tags]: tag names
  • logentries:

    • token: logentries api token
    • [use_ssl]: whether or not SSL encryption should be used, defaults to true
    • [level]: level name or int value, defaults to DEBUG
    • [bubble]: bool, defaults to true
  • insightops:

    • token: Log token supplied by InsightOps
    • region: Region where InsightOps account is hosted. Could be 'us' or 'eu'. Defaults to 'us'
    • [use_ssl]: whether or not SSL encryption should be used, defaults to true
    • [level]: level name or int value, defaults to DEBUG
    • [bubble]: bool, defaults to true
  • flowdock:

    • token: flowdock api token
    • source: human readable identifier of the application
    • from_email: email address of the message sender
    • [level]: level name or int value, defaults to DEBUG
    • [bubble]: bool, defaults to true
  • rollbar:

    • id: RollbarNotifier service (mandatory if token is not provided)
    • token: rollbar api token (skip if you provide a RollbarNotifier service id)
    • [config]: config values from https://github.com/rollbar/rollbar-php#configuration-reference
    • [level]: level name or int value, defaults to DEBUG
    • [bubble]: bool, defaults to true
  • server_log:

    • host: server log host. ex: 127.0.0.1:9911
    • [level]: level name or int value, defaults to DEBUG
    • [bubble]: bool, defaults to true
  • telegram:

    • token: Telegram bot access token provided by BotFather
    • channel: Telegram channel name
    • [level]: level name or int value, defaults to DEBUG
    • [bubble]: bool, defaults to true
    • [parse_mode]: optional the kind of formatting that is used for the message
    • [disable_webpage_preview]: bool, defaults to false, disables link previews for links in the message
    • [disable_notification]: bool, defaults to false, sends the message silently. Users will receive a notification with no sound
    • [split_long_messages]: bool, defaults to false, split messages longer than 4096 bytes into multiple messages
    • [delay_between_messages]: bool, defaults to false, adds a 1sec delay/sleep between sending split messages
  • sampling:

    • handler: the wrapped handler's name
    • factor: the sampling factor (e.g. 10 means every ~10th record is sampled)

All handlers can also be marked with nested: true to make sure they are never added explicitly to the stack

Tags
author

Jordi Boggiano j.boggiano@seld.be

author

Christophe Coevoet stof@notk.org

finalsince

3.9.0

Interfaces, Classes and Traits

ConfigurationInterface
Configuration interface.

Table of Contents

getConfigTreeBuilder()  : TreeBuilder
Generates the configuration tree builder.
addChannelsSection()  : mixed
addElasticsearchSection()  : mixed
addGelfSection()  : mixed
addMailerSection()  : mixed
addMongoSection()  : mixed
addPredisSection()  : mixed
addRedisSection()  : mixed
addVerbosityLevelSection()  : mixed

Methods

Search results