Subversion-Projekte lars-tiefland.laravel_shop

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
148 lars 1
<?php
2
 
3
namespace Illuminate\Mail\Transport;
4
 
5
use Psr\Log\LoggerInterface;
6
use Symfony\Component\Mailer\Envelope;
7
use Symfony\Component\Mailer\SentMessage;
8
use Symfony\Component\Mailer\Transport\TransportInterface;
9
use Symfony\Component\Mime\RawMessage;
10
 
11
class LogTransport implements TransportInterface
12
{
13
    /**
14
     * The Logger instance.
15
     *
16
     * @var \Psr\Log\LoggerInterface
17
     */
18
    protected $logger;
19
 
20
    /**
21
     * Create a new log transport instance.
22
     *
23
     * @param  \Psr\Log\LoggerInterface  $logger
24
     * @return void
25
     */
26
    public function __construct(LoggerInterface $logger)
27
    {
28
        $this->logger = $logger;
29
    }
30
 
31
    /**
32
     * {@inheritdoc}
33
     */
34
    public function send(RawMessage $message, Envelope $envelope = null): ?SentMessage
35
    {
36
        $this->logger->debug($message->toString());
37
 
38
        return new SentMessage($message, $envelope ?? Envelope::create($message));
39
    }
40
 
41
    /**
42
     * Get the logger for the LogTransport instance.
43
     *
44
     * @return \Psr\Log\LoggerInterface
45
     */
46
    public function logger()
47
    {
48
        return $this->logger;
49
    }
50
 
51
    /**
52
     * Get the string representation of the transport.
53
     *
54
     * @return string
55
     */
56
    public function __toString(): string
57
    {
58
        return 'log';
59
    }
60
}