Linux unitednationsplay.com 3.10.0-1160.45.1.el7.x86_64 #1 SMP Wed Oct 13 17:20:51 UTC 2021 x86_64
nginx/1.20.1
Server IP : 188.130.139.92 & Your IP : 3.140.254.100
Domains :
Cant Read [ /etc/named.conf ]
User : web
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
home /
www /
3 /
monolog /
monolog /
src /
Monolog /
Handler /
Delete
Unzip
Name
Size
Permission
Date
Action
Curl
[ DIR ]
drwxr-xr-x
2018-11-05 09:00
FingersCrossed
[ DIR ]
drwxr-xr-x
2018-11-05 09:00
Slack
[ DIR ]
drwxr-xr-x
2018-11-05 09:00
SyslogUdp
[ DIR ]
drwxr-xr-x
2018-11-05 09:00
AbstractHandler.php
4.28
KB
-rw-r--r--
2018-11-05 09:00
AbstractProcessingHandler.php
1.5
KB
-rw-r--r--
2018-11-05 09:00
AbstractSyslogHandler.php
3.29
KB
-rw-r--r--
2018-11-05 09:00
AmqpHandler.php
3.78
KB
-rw-r--r--
2018-11-05 09:00
BrowserConsoleHandler.php
7.21
KB
-rw-r--r--
2018-11-05 09:00
BufferHandler.php
3.58
KB
-rw-r--r--
2018-11-05 09:00
ChromePHPHandler.php
5.48
KB
-rw-r--r--
2018-11-05 09:00
CouchDBHandler.php
1.91
KB
-rw-r--r--
2018-11-05 09:00
CubeHandler.php
4.52
KB
-rw-r--r--
2018-11-05 09:00
DeduplicationHandler.php
5.35
KB
-rw-r--r--
2018-11-05 09:00
DoctrineCouchDBHandler.php
1000
B
-rw-r--r--
2018-11-05 09:00
DynamoDbHandler.php
2.38
KB
-rw-r--r--
2018-11-05 09:00
ElasticSearchHandler.php
3.33
KB
-rw-r--r--
2018-11-05 09:00
ErrorLogHandler.php
2.31
KB
-rw-r--r--
2018-11-05 09:00
FilterHandler.php
4.32
KB
-rw-r--r--
2018-11-05 09:00
FingersCrossedHandler.php
5.77
KB
-rw-r--r--
2018-11-05 09:00
FirePHPHandler.php
5.33
KB
-rw-r--r--
2018-11-05 09:00
FleepHookHandler.php
3.28
KB
-rw-r--r--
2018-11-05 09:00
FlowdockHandler.php
3.28
KB
-rw-r--r--
2018-11-05 09:00
GelfHandler.php
1.91
KB
-rw-r--r--
2018-11-05 09:00
GroupHandler.php
2.69
KB
-rw-r--r--
2018-11-05 09:00
HandlerInterface.php
2.53
KB
-rw-r--r--
2018-11-05 09:00
HandlerWrapper.php
2.31
KB
-rw-r--r--
2018-11-05 09:00
HipChatHandler.php
10.51
KB
-rw-r--r--
2018-11-05 09:00
IFTTTHandler.php
2.06
KB
-rw-r--r--
2018-11-05 09:00
InsightOpsHandler.php
1.83
KB
-rw-r--r--
2018-11-05 09:00
LogEntriesHandler.php
1.58
KB
-rw-r--r--
2018-11-05 09:00
LogglyHandler.php
2.56
KB
-rw-r--r--
2018-11-05 09:00
MailHandler.php
1.58
KB
-rw-r--r--
2018-11-05 09:00
MandrillHandler.php
2.11
KB
-rw-r--r--
2018-11-05 09:00
MissingExtensionException.php
450
B
-rw-r--r--
2018-11-05 09:00
MongoDBHandler.php
1.57
KB
-rw-r--r--
2018-11-05 09:00
NativeMailerHandler.php
5.08
KB
-rw-r--r--
2018-11-05 09:00
NewRelicHandler.php
6.06
KB
-rw-r--r--
2018-11-05 09:00
NullHandler.php
953
B
-rw-r--r--
2018-11-05 09:00
PHPConsoleHandler.php
9.76
KB
-rw-r--r--
2018-11-05 09:00
PsrHandler.php
1.4
KB
-rw-r--r--
2018-11-05 09:00
PushoverHandler.php
6.47
KB
-rw-r--r--
2018-11-05 09:00
RavenHandler.php
6.96
KB
-rw-r--r--
2018-11-05 09:00
RedisHandler.php
2.82
KB
-rw-r--r--
2018-11-05 09:00
RollbarHandler.php
3.85
KB
-rw-r--r--
2018-11-05 09:00
RotatingFileHandler.php
5.75
KB
-rw-r--r--
2018-11-05 09:00
SamplingHandler.php
2.61
KB
-rw-r--r--
2018-11-05 09:00
SlackHandler.php
6.3
KB
-rw-r--r--
2018-11-05 09:00
SlackWebhookHandler.php
3.73
KB
-rw-r--r--
2018-11-05 09:00
SlackbotHandler.php
1.98
KB
-rw-r--r--
2018-11-05 09:00
SocketHandler.php
9.58
KB
-rw-r--r--
2018-11-05 09:00
StreamHandler.php
5.1
KB
-rw-r--r--
2018-11-05 09:00
SwiftMailerHandler.php
3.36
KB
-rw-r--r--
2018-11-05 09:00
SyslogHandler.php
1.8
KB
-rw-r--r--
2018-11-05 09:00
SyslogUdpHandler.php
2.51
KB
-rw-r--r--
2018-11-05 09:00
TestHandler.php
5.01
KB
-rw-r--r--
2018-11-05 09:00
WhatFailureGroupHandler.php
1.76
KB
-rw-r--r--
2018-11-05 09:00
ZendMonitorHandler.php
2.19
KB
-rw-r--r--
2018-11-05 09:00
Save
Rename
<?php /* * This file is part of the Monolog package. * * (c) Jordi Boggiano <j.boggiano@seld.be> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Monolog\Handler; use Monolog\Logger; /** * Simple handler wrapper that deduplicates log records across multiple requests * * It also includes the BufferHandler functionality and will buffer * all messages until the end of the request or flush() is called. * * This works by storing all log records' messages above $deduplicationLevel * to the file specified by $deduplicationStore. When further logs come in at the end of the * request (or when flush() is called), all those above $deduplicationLevel are checked * against the existing stored logs. If they match and the timestamps in the stored log is * not older than $time seconds, the new log record is discarded. If no log record is new, the * whole data set is discarded. * * This is mainly useful in combination with Mail handlers or things like Slack or HipChat handlers * that send messages to people, to avoid spamming with the same message over and over in case of * a major component failure like a database server being down which makes all requests fail in the * same way. * * @author Jordi Boggiano <j.boggiano@seld.be> */ class DeduplicationHandler extends BufferHandler { /** * @var string */ protected $deduplicationStore; /** * @var int */ protected $deduplicationLevel; /** * @var int */ protected $time; /** * @var bool */ private $gc = false; /** * @param HandlerInterface $handler Handler. * @param string $deduplicationStore The file/path where the deduplication log should be kept * @param int $deduplicationLevel The minimum logging level for log records to be looked at for deduplication purposes * @param int $time The period (in seconds) during which duplicate entries should be suppressed after a given log is sent through * @param bool $bubble Whether the messages that are handled can bubble up the stack or not */ public function __construct(HandlerInterface $handler, $deduplicationStore = null, $deduplicationLevel = Logger::ERROR, $time = 60, $bubble = true) { parent::__construct($handler, 0, Logger::DEBUG, $bubble, false); $this->deduplicationStore = $deduplicationStore === null ? sys_get_temp_dir() . '/monolog-dedup-' . substr(md5(__FILE__), 0, 20) .'.log' : $deduplicationStore; $this->deduplicationLevel = Logger::toMonologLevel($deduplicationLevel); $this->time = $time; } public function flush() { if ($this->bufferSize === 0) { return; } $passthru = null; foreach ($this->buffer as $record) { if ($record['level'] >= $this->deduplicationLevel) { $passthru = $passthru || !$this->isDuplicate($record); if ($passthru) { $this->appendRecord($record); } } } // default of null is valid as well as if no record matches duplicationLevel we just pass through if ($passthru === true || $passthru === null) { $this->handler->handleBatch($this->buffer); } $this->clear(); if ($this->gc) { $this->collectLogs(); } } private function isDuplicate(array $record) { if (!file_exists($this->deduplicationStore)) { return false; } $store = file($this->deduplicationStore, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); if (!is_array($store)) { return false; } $yesterday = time() - 86400; $timestampValidity = $record['datetime']->getTimestamp() - $this->time; $expectedMessage = preg_replace('{[\r\n].*}', '', $record['message']); for ($i = count($store) - 1; $i >= 0; $i--) { list($timestamp, $level, $message) = explode(':', $store[$i], 3); if ($level === $record['level_name'] && $message === $expectedMessage && $timestamp > $timestampValidity) { return true; } if ($timestamp < $yesterday) { $this->gc = true; } } return false; } private function collectLogs() { if (!file_exists($this->deduplicationStore)) { return false; } $handle = fopen($this->deduplicationStore, 'rw+'); flock($handle, LOCK_EX); $validLogs = array(); $timestampValidity = time() - $this->time; while (!feof($handle)) { $log = fgets($handle); if (substr($log, 0, 10) >= $timestampValidity) { $validLogs[] = $log; } } ftruncate($handle, 0); rewind($handle); foreach ($validLogs as $log) { fwrite($handle, $log); } flock($handle, LOCK_UN); fclose($handle); $this->gc = false; } private function appendRecord(array $record) { file_put_contents($this->deduplicationStore, $record['datetime']->getTimestamp() . ':' . $record['level_name'] . ':' . preg_replace('{[\r\n].*}', '', $record['message']) . "\n", FILE_APPEND); } }