xref: /plugin/authssocas/vendor/psr/log/Psr/Log/LoggerTrait.php (revision d10b5556242e78d8a430c323b91984ec16415a46)
1*d10b5556SXylle<?php
2*d10b5556SXylle
3*d10b5556SXyllenamespace Psr\Log;
4*d10b5556SXylle
5*d10b5556SXylle/**
6*d10b5556SXylle * This is a simple Logger trait that classes unable to extend AbstractLogger
7*d10b5556SXylle * (because they extend another class, etc) can include.
8*d10b5556SXylle *
9*d10b5556SXylle * It simply delegates all log-level-specific methods to the `log` method to
10*d10b5556SXylle * reduce boilerplate code that a simple Logger that does the same thing with
11*d10b5556SXylle * messages regardless of the error level has to implement.
12*d10b5556SXylle */
13*d10b5556SXylletrait LoggerTrait
14*d10b5556SXylle{
15*d10b5556SXylle    /**
16*d10b5556SXylle     * System is unusable.
17*d10b5556SXylle     *
18*d10b5556SXylle     * @param string $message
19*d10b5556SXylle     * @param array  $context
20*d10b5556SXylle     *
21*d10b5556SXylle     * @return void
22*d10b5556SXylle     */
23*d10b5556SXylle    public function emergency($message, array $context = array())
24*d10b5556SXylle    {
25*d10b5556SXylle        $this->log(LogLevel::EMERGENCY, $message, $context);
26*d10b5556SXylle    }
27*d10b5556SXylle
28*d10b5556SXylle    /**
29*d10b5556SXylle     * Action must be taken immediately.
30*d10b5556SXylle     *
31*d10b5556SXylle     * Example: Entire website down, database unavailable, etc. This should
32*d10b5556SXylle     * trigger the SMS alerts and wake you up.
33*d10b5556SXylle     *
34*d10b5556SXylle     * @param string $message
35*d10b5556SXylle     * @param array  $context
36*d10b5556SXylle     *
37*d10b5556SXylle     * @return void
38*d10b5556SXylle     */
39*d10b5556SXylle    public function alert($message, array $context = array())
40*d10b5556SXylle    {
41*d10b5556SXylle        $this->log(LogLevel::ALERT, $message, $context);
42*d10b5556SXylle    }
43*d10b5556SXylle
44*d10b5556SXylle    /**
45*d10b5556SXylle     * Critical conditions.
46*d10b5556SXylle     *
47*d10b5556SXylle     * Example: Application component unavailable, unexpected exception.
48*d10b5556SXylle     *
49*d10b5556SXylle     * @param string $message
50*d10b5556SXylle     * @param array  $context
51*d10b5556SXylle     *
52*d10b5556SXylle     * @return void
53*d10b5556SXylle     */
54*d10b5556SXylle    public function critical($message, array $context = array())
55*d10b5556SXylle    {
56*d10b5556SXylle        $this->log(LogLevel::CRITICAL, $message, $context);
57*d10b5556SXylle    }
58*d10b5556SXylle
59*d10b5556SXylle    /**
60*d10b5556SXylle     * Runtime errors that do not require immediate action but should typically
61*d10b5556SXylle     * be logged and monitored.
62*d10b5556SXylle     *
63*d10b5556SXylle     * @param string $message
64*d10b5556SXylle     * @param array  $context
65*d10b5556SXylle     *
66*d10b5556SXylle     * @return void
67*d10b5556SXylle     */
68*d10b5556SXylle    public function error($message, array $context = array())
69*d10b5556SXylle    {
70*d10b5556SXylle        $this->log(LogLevel::ERROR, $message, $context);
71*d10b5556SXylle    }
72*d10b5556SXylle
73*d10b5556SXylle    /**
74*d10b5556SXylle     * Exceptional occurrences that are not errors.
75*d10b5556SXylle     *
76*d10b5556SXylle     * Example: Use of deprecated APIs, poor use of an API, undesirable things
77*d10b5556SXylle     * that are not necessarily wrong.
78*d10b5556SXylle     *
79*d10b5556SXylle     * @param string $message
80*d10b5556SXylle     * @param array  $context
81*d10b5556SXylle     *
82*d10b5556SXylle     * @return void
83*d10b5556SXylle     */
84*d10b5556SXylle    public function warning($message, array $context = array())
85*d10b5556SXylle    {
86*d10b5556SXylle        $this->log(LogLevel::WARNING, $message, $context);
87*d10b5556SXylle    }
88*d10b5556SXylle
89*d10b5556SXylle    /**
90*d10b5556SXylle     * Normal but significant events.
91*d10b5556SXylle     *
92*d10b5556SXylle     * @param string $message
93*d10b5556SXylle     * @param array  $context
94*d10b5556SXylle     *
95*d10b5556SXylle     * @return void
96*d10b5556SXylle     */
97*d10b5556SXylle    public function notice($message, array $context = array())
98*d10b5556SXylle    {
99*d10b5556SXylle        $this->log(LogLevel::NOTICE, $message, $context);
100*d10b5556SXylle    }
101*d10b5556SXylle
102*d10b5556SXylle    /**
103*d10b5556SXylle     * Interesting events.
104*d10b5556SXylle     *
105*d10b5556SXylle     * Example: User logs in, SQL logs.
106*d10b5556SXylle     *
107*d10b5556SXylle     * @param string $message
108*d10b5556SXylle     * @param array  $context
109*d10b5556SXylle     *
110*d10b5556SXylle     * @return void
111*d10b5556SXylle     */
112*d10b5556SXylle    public function info($message, array $context = array())
113*d10b5556SXylle    {
114*d10b5556SXylle        $this->log(LogLevel::INFO, $message, $context);
115*d10b5556SXylle    }
116*d10b5556SXylle
117*d10b5556SXylle    /**
118*d10b5556SXylle     * Detailed debug information.
119*d10b5556SXylle     *
120*d10b5556SXylle     * @param string $message
121*d10b5556SXylle     * @param array  $context
122*d10b5556SXylle     *
123*d10b5556SXylle     * @return void
124*d10b5556SXylle     */
125*d10b5556SXylle    public function debug($message, array $context = array())
126*d10b5556SXylle    {
127*d10b5556SXylle        $this->log(LogLevel::DEBUG, $message, $context);
128*d10b5556SXylle    }
129*d10b5556SXylle
130*d10b5556SXylle    /**
131*d10b5556SXylle     * Logs with an arbitrary level.
132*d10b5556SXylle     *
133*d10b5556SXylle     * @param mixed  $level
134*d10b5556SXylle     * @param string $message
135*d10b5556SXylle     * @param array  $context
136*d10b5556SXylle     *
137*d10b5556SXylle     * @return void
138*d10b5556SXylle     *
139*d10b5556SXylle     * @throws \Psr\Log\InvalidArgumentException
140*d10b5556SXylle     */
141*d10b5556SXylle    abstract public function log($level, $message, array $context = array());
142*d10b5556SXylle}
143