未使用自定义 MAIL_LOG_CHANNEL

Dan*_*naq 1 php email logging laravel-5.8

我遇到了 laravel 5.8 邮件系统的问题。正如文档所述,邮件和本地开发可以更改发送电子邮件的方式,使其将其写入日志文件。

因此,.env以及 -fileconfig/mail.php都有相应的选项。因此,我在我的文件中添加了(密钥最初不在这里)一个值为“mail”的MAIL_LOG_CHANNEL密钥.env,并将该密钥的值更改MAIL_DRIVER为“log”。

显然,我添加了一个新频道config/logging.php

[...]
'mail' => [
            'driver' => 'single',
            'path' => storage_path('logs/mail-'.php_sapi_name().'.log'),
            'level' => 'info',
        ],
[...]
Run Code Online (Sandbox Code Playgroud)

无论我尝试什么,邮件都从未写入单独的日志文件。我使用正常的日志语句测试通道,没有任何问题。我从 切换到MAIL_LOG_CHANNEL="mail"MAIL_LOG_CHANNEL=mail以下部分添加默认值config/mail.php

[before]
'log_channel' => env('MAIL_LOG_CHANNEL'),

[after]
'log_channel' => env('MAIL_LOG_CHANNEL', 'mail'),
Run Code Online (Sandbox Code Playgroud)

日志条目附近没有一根头发丝的宽度。

只有使用绝对基本配置,它才会实际将邮件写入日志,但使用此解决方案会写入错误的日志文件。

有人有想法吗?我觉得这很奇怪。

感谢您的帮助。

Dan*_*naq 6

我发现了日志记录不起作用的原因:必须将 -propertiy 更改level为“debug”。

之后,一切正常。

请参阅https://laracasts.com/discuss/channels/laravel/custom-mail-log-channel-breaks-mail-driverlog?page=1#reply=523111

有关此问题的原始提示。

愿这可以帮助某人:)

祝你今天过得愉快。