Completed
Push — master ( 244d2b...2e3627 )
by Ryota
02:18
created

LoggingListener::getSubscribedEvents()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 10
Code Lines 7

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 10
rs 9.4285
cc 1
eloc 7
nc 1
nop 0
1
<?php
2
3
/**
4
 * Created by PhpStorm.
5
 * User: polidog
6
 * Date: 2016/03/13
7
 */
8
9
namespace Tavii\SQSJobQueueBundle\EventListener;
10
use Psr\Log\LoggerInterface;
11
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
12
use Tavii\SQSJobQueueBundle\Event\DeleteQueueEvent;
13
use Tavii\SQSJobQueueBundle\Event\JobEvent;
14
use Tavii\SQSJobQueueBundle\Event\ReceiveQueueEvent;
15
use Tavii\SQSJobQueueBundle\Event\SentQueueEvent;
16
use Tavii\SQSJobQueueBundle\SQSJobQueueEvents;
17
18
/**
19
 * Class LoggingListener
20
 */
21
class LoggingListener implements EventSubscriberInterface
22
{
23
    /**
24
     * @var LoggerInterface
25
     */
26
    private $logger;
27
28
    /**
29
     * LoggingListener constructor.
30
     * @param LoggerInterface $logger
31
     */
32
    public function __construct(LoggerInterface $logger)
33
    {
34
        $this->logger = $logger;
35
    }
36
37
38
    /**
39
     * @param ReceiveQueueEvent $event
40
     */
41
    public function onQueueReceived(ReceiveQueueEvent $event)
42
    {
43
        $this->logger->info("Queue Received: ",[
44
            'queue_url' => $event->getMessage()->getQueueUrl(),
45
            'job_name' => $event->getMessage()->getJob()->getName(),
46
        ]);
47
    }
48
49
    /**
50
     * @param SentQueueEvent $event
51
     */
52
    public function onQueueSent(SentQueueEvent $event)
53
    {
54
        $this->logger->info("Queue Send: ",[
55
            'job_name' => $event->getJob()->getName(),
56
            'sent' => $event->isSent()
57
        ]);
58
    }
59
60
    /**
61
     * @param DeleteQueueEvent $event
62
     */
63
    public function onQueueDeleted(DeleteQueueEvent $event)
64
    {
65
        $this->logger->info("Queue Delete: ",[
66
            'queue_url' => $event->getMessage()->getQueueUrl(),
67
            'job_name' => $event->getMessage()->getJob()->getName(),
68
            'deleted' => $event->isDeleted()
69
        ]);
70
71
    }
72
73
    /**
74
     * @param JobEvent $event
75
     */
76
    public function onJobExecute(JobEvent $event)
77
    {
78
        $this->logger->info("Job Execute: ",[
79
            'job_name' => $event->getJob()->getName(),
80
        ]);
81
    }
82
83
    /**
84
     * @param JobEvent $event
85
     */
86
    public function onJobRan(JobEvent $event)
87
    {
88
        $this->logger->info("Job Ran: ",[
89
            'job_name' => $event->getJob()->getName(),
90
            'execute_status' => $event->isExecutedStatus()
91
        ]);
92
93
    }
94
95
    public static function getSubscribedEvents()
96
    {
97
        return [
98
            SQSJobQueueEvents::QUEUE_RECEIVED => 'onQueueReceived',
99
            SQSJobQueueEvents::QUEUE_SENT => 'onQueueSent',
100
            SQSJobQueueEvents::QUEUE_DELETED => 'onQueueDeleted',
101
            SQSJobQueueEvents::JOB_EXECUTE => 'onJobExecute',
102
            SQSJobQueueEvents::JOB_RAN => 'onJobRan',
103
        ];
104
    }
105
106
}