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

有帮助吗?

解决方案

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top