Question

I'm having trouble setting up Monolog to use Swiftmailer and the Html formatter. I have multiple monolog handlers and swiftmail mailers which might be the issue. Here's my config.yml

Monolog section:

services:
    monolog.formatter.html:
        class: Monolog\Formatter\HtmlFormatter


monolog:

    channels: ["orders", "support"]

    handlers:

        # Called
        orders:
            type:  stream
            path:  "%kernel.logs_dir%/%kernel.environment%_orders.log"
            level: info
            channels: orders

        # Called
        support:
            type: fingers_crossed
            action_level: critical
            handler: support_grouped
            channels: support

        # Not called, referenced in a handler [support]
        support_grouped:
            type: group
            members: [support_log, environment_log, support_buffered]

        # Not called, referenced in a group handler [grouped_support]
        support_buffered:
            type: buffer
            handler: support_buffered_grouped

        # Not called, referenced in a handler [support_buffered]
        support_buffered_grouped:
            type: group
            members: [hipchat, webmaster_email, support_email]

        # Not called, referenced in a group handler [support_buffered_grouped]
        support_email:
            type: swift_mailer
            mailer: swiftmailer.mailer.errors
            from_email: %webmaster_email_address%
            to_email:   %support_email_address%
            subject:    '[Costimator] Support: An Error Occurred!'
            level: debug
            content_type: text/html
            formatter: monolog.formatter.html

        # Called
        webmaster:
            type: fingers_crossed
            action_level: critical
            handler: webmaster_grouped

        # Not called, referenced in a handler [webmaster]
        webmaster_grouped:
            type: group
            members: [environment_log, webmaster_buffered]

        # Not called, referenced in a handler [webmaster_grouped]
        webmaster_buffered:
            type: buffer
            handler: webmaster_buffered_grouped

        # Not called, referenced in a handler [webmaster_buffered_grouped]
        webmaster_buffered_grouped:
            type: group
            members: [hipchat, webmaster_email]

        # Not called, referenced in a group handler [webmaster_buffered_grouped, support_buffered_grouped]
        webmaster_email:
            type:       swift_mailer
            mailer: swiftmailer.mailer.errors
            content_type: text/html
            from_email: %webmaster_email_address%
            to_email:   %webmaster_email_address%
            subject:    '[Costimator] An Error Occurred!'
            level: debug
            formatter: monolog.formatter.html

        # Not called, referenced in a group handler [support_grouped, webmaster_grouped]
        environment_log:
            type:  stream
            path:  "%kernel.logs_dir%/%kernel.environment%.log"
            level: debug

        # Not called, referenced in a group handler [support_grouped, webmaster_grouped]
        support_log:
            type:  stream
            path:  "%kernel.logs_dir%/%kernel.environment%.support_log"
            level: debug

        # Not called, referenced in a group handler [webmaster_buffered_grouped, support_buffered_grouped]
        hipchat:
            type:  hipchat
            notify: true
            token: xxx
            room: xxx
            level: critical

Swiftmailer section:

# Swiftmailer Configuration
swiftmailer:
    default_mailer: %mailer_default_config%
    mailers:
        default:
            delivery_address: "%mailer_delivery_address%"
            transport: "%mailer_transport%"
            host:      "%mailer_host%"
            username:  "%mailer_user%"
            password:  "%mailer_password%"
            spool:
                type: "%mailer_spool_type%"
                path: "%kernel.root_dir%/spool"

        errors:
            delivery_address: "%mailer_errors_delivery_address%"
            transport: "%mailer_errors_transport%"
            host:      "%mailer_errors_host%"
            username:  "%mailer_errors_user%"
            password:  "%mailer_errors_password%"
            spool:
                type: "%mailer_errors_spool_type%"
                path: "%kernel.root_dir%/spool"

Errors are being sent as text/html but without the table formatting. Any ideas?

// Ping @seldaek

Edit Formatters seem to be set on the handlers:

formatters set on handlers

Was it helpful?

Solution

The configuration above actually works correctly. Not sure what was going on.

Leaving this here for anyone else who wants to implement HTML formatting.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top