This package provides a opiniated factory for bgalati/monolog-sentry-handler, based on the provided symfony guide.
Required configuration:
# brainbits_monolog_sentry.yamlparameters:
env(SENTRY_DSN): ''env(SENTRY_ENVIRONMENT): ''services:
_defaults:
autowire: trueautoconfigure: trueBrainbits\MonologSentry\SentryFactory: ~Sentry\State\HubInterface:
factory: ['@Brainbits\MonologSentry\SentryFactory', 'create']arguments:
$dsn: '%env(SENTRY_DSN)%'$environment: '%env(SENTRY_ENVIRONMENT)%'$inAppInclude: ['%kernel.project_dir%/src']$inAppExclude: ['%kernel.cache_dir%', '%kernel.project_dir%/vendor']$prefixes: ['%kernel.project_dir%']$release: 'web-%app_version%'$tags:
foo: bar$logger: '@logger'# orSentry\State\HubInterface:
factory: ['@Brainbits\MonologSentry\SentryFactory', 'createFromOptions']arguments:
$options:
dsn: '%env(SENTRY_DSN)%'environment: '%env(SENTRY_ENVIRONMENT)%'inAppInclude: ['%kernel.project_dir%/src']inAppExclude: ['%kernel.cache_dir%', '%kernel.project_dir%/vendor']prefixes: ['%kernel.project_dir%']release: 'web-%app_version%'tags:
foo: barlogger: '@logger'Controlling\Sentry\Sentry\SentryHandler: ~Controlling\Sentry\EventListener\SentryConsoleListener: ~Controlling\Sentry\EventListener\SentryRequestListener:
Controlling\Sentry\EventListener\SentryUserListener:
Controlling\Sentry\EventListener\MonologResetterEventListener: ~Example monolog configuration:
# monolog.yamlwhen@prod:
monolog:
handlers:
sentry:
type: fingers_crossedprocess_psr_3_messages: trueaction_level: warninghandler: sentry_bufferexcluded_http_codes: [400, 401, 403, 404, 405]buffer_size: 100# Prevents memory leaks for workerschannels: ["!event", "!security"]sentry_buffer:
type: bufferhandler: sentry_handlersentry_handler:
type: serviceid: 'Brainbits\MonologSentry\SentryHandler'