|
14 | 14 | */
|
15 | 15 | class TelegramHandler extends AbstractProcessingHandler
|
16 | 16 | {
|
| 17 | + /** |
| 18 | + * Logger config |
| 19 | + * |
| 20 | + * @var array |
| 21 | + */ |
| 22 | + private $config; |
| 23 | + |
17 | 24 | /**
|
18 | 25 | * Bot API token
|
19 | 26 | *
|
@@ -46,15 +53,16 @@ class TelegramHandler extends AbstractProcessingHandler
|
46 | 53 | * TelegramHandler constructor.
|
47 | 54 | * @param int $level
|
48 | 55 | */
|
49 |
| - public function __construct($level) |
| 56 | + public function __construct(array $config) |
50 | 57 | {
|
51 |
| - $level = Logger::toMonologLevel($level); |
| 58 | + $level = Logger::toMonologLevel($config['level']); |
52 | 59 |
|
53 | 60 | parent::__construct($level, true);
|
54 | 61 |
|
55 | 62 | // define variables for making Telegram request
|
56 |
| - $this->botToken = config('telegram-logger.token'); |
57 |
| - $this->chatId = config('telegram-logger.chat_id'); |
| 63 | + $this->config = $config; |
| 64 | + $this->botToken = $this->getConfigValue('token'); |
| 65 | + $this->chatId = $this->getConfigValue('chat_id'); |
58 | 66 |
|
59 | 67 | // define variables for text message
|
60 | 68 | $this->appName = config('app.name');
|
@@ -116,4 +124,18 @@ private function sendMessage(string $text): void
|
116 | 124 |
|
117 | 125 | file_get_contents('https://api.telegram.org/bot'.$this->botToken.'/sendMessage?' . $httpQuery);
|
118 | 126 | }
|
| 127 | + |
| 128 | + /** |
| 129 | + * @param string $key |
| 130 | + * @param string $defaultConfigKey |
| 131 | + * @return string |
| 132 | + */ |
| 133 | + private function getConfigValue($key, $defaultConfigKey = null): string |
| 134 | + { |
| 135 | + if (isset($this->config[$key])) { |
| 136 | + return $this->config[$key]; |
| 137 | + } |
| 138 | + |
| 139 | + return config($defaultConfigKey ?: "telegram-logger.$key"); |
| 140 | + } |
119 | 141 | }
|
0 commit comments