OXIESEC PANEL
- Current Dir:
/
/
var
/
www
/
firebase
/
vendor
/
monolog
/
monolog
/
src
/
Monolog
/
Formatter
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
08/12/2024 10:35:58 AM
rwxr-xr-x
📄
ChromePHPFormatter.php
2.3 KB
08/12/2024 10:35:56 AM
rw-r--r--
📄
ElasticaFormatter.php
2.13 KB
08/12/2024 10:35:56 AM
rw-r--r--
📄
ElasticsearchFormatter.php
1.97 KB
08/12/2024 10:35:56 AM
rw-r--r--
📄
FlowdockFormatter.php
2.58 KB
08/12/2024 10:35:56 AM
rw-r--r--
📄
FluentdFormatter.php
2.38 KB
08/12/2024 10:35:56 AM
rw-r--r--
📄
FormatterInterface.php
908 bytes
08/12/2024 10:35:56 AM
rw-r--r--
📄
GelfMessageFormatter.php
4.77 KB
08/12/2024 10:35:56 AM
rw-r--r--
📄
GoogleCloudLoggingFormatter.php
1.19 KB
08/12/2024 10:35:56 AM
rw-r--r--
📄
HtmlFormatter.php
4.66 KB
08/12/2024 10:35:56 AM
rw-r--r--
📄
JsonFormatter.php
6.23 KB
08/12/2024 10:35:56 AM
rw-r--r--
📄
LineFormatter.php
9.93 KB
08/12/2024 10:35:56 AM
rw-r--r--
📄
LogglyFormatter.php
1.3 KB
08/12/2024 10:35:56 AM
rw-r--r--
📄
LogmaticFormatter.php
1.6 KB
08/12/2024 10:35:56 AM
rw-r--r--
📄
LogstashFormatter.php
3.53 KB
08/12/2024 10:35:56 AM
rw-r--r--
📄
MongoDBFormatter.php
4.96 KB
08/12/2024 10:35:56 AM
rw-r--r--
📄
NormalizerFormatter.php
10.42 KB
08/12/2024 10:35:56 AM
rw-r--r--
📄
ScalarFormatter.php
1.16 KB
08/12/2024 10:35:56 AM
rw-r--r--
📄
SyslogFormatter.php
1.91 KB
08/12/2024 10:35:56 AM
rw-r--r--
📄
WildfireFormatter.php
4.11 KB
08/12/2024 10:35:56 AM
rw-r--r--
Editing: FluentdFormatter.php
Close
<?php declare(strict_types=1); /* * 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\Formatter; use Monolog\Utils; use Monolog\LogRecord; /** * Class FluentdFormatter * * Serializes a log message to Fluentd unix socket protocol * * Fluentd config: * * <source> * type unix * path /var/run/td-agent/td-agent.sock * </source> * * Monolog setup: * * $logger = new Monolog\Logger('fluent.tag'); * $fluentHandler = new Monolog\Handler\SocketHandler('unix:///var/run/td-agent/td-agent.sock'); * $fluentHandler->setFormatter(new Monolog\Formatter\FluentdFormatter()); * $logger->pushHandler($fluentHandler); * * @author Andrius Putna <fordnox@gmail.com> */ class FluentdFormatter implements FormatterInterface { /** * @var bool $levelTag should message level be a part of the fluentd tag */ protected bool $levelTag = false; /** * @throws \RuntimeException If the function json_encode does not exist */ public function __construct(bool $levelTag = false) { if (!\function_exists('json_encode')) { throw new \RuntimeException('PHP\'s json extension is required to use Monolog\'s FluentdUnixFormatter'); } $this->levelTag = $levelTag; } public function isUsingLevelsInTag(): bool { return $this->levelTag; } public function format(LogRecord $record): string { $tag = $record->channel; if ($this->levelTag) { $tag .= '.' . $record->level->toPsrLogLevel(); } $message = [ 'message' => $record->message, 'context' => $record->context, 'extra' => $record->extra, ]; if (!$this->levelTag) { $message['level'] = $record->level->value; $message['level_name'] = $record->level->getName(); } return Utils::jsonEncode([$tag, $record->datetime->getTimestamp(), $message]); } public function formatBatch(array $records): string { $message = ''; foreach ($records as $record) { $message .= $this->format($record); } return $message; } }