Initial commit

This commit is contained in:
2024-01-14 07:39:31 +01:00
commit 479401af72
3 changed files with 49 additions and 0 deletions
View File
+13
View File
@@ -0,0 +1,13 @@
{
"name": "pavlicek.dev/webapp-common-utils",
"description": "Collection of tools, utils and code chunks useful when creating web applications",
"autoload": {
"psr-0": {"": "lib/"}
},
"require": {
"php": ">= 8.2.0",
"psr/log": "*",
"monolog/monolog": "^2.9",
"mangoweb/monolog-tracy-handler": "^1.0"
}
}
+36
View File
@@ -0,0 +1,36 @@
<?php
namespace Common;
use Psr\Log\LoggerInterface;
use Monolog\Logger;
use Monolog\Handler\NoopHandler;
use Monolog\Handler\StreamHandler;
use Monolog\Formatter\LineFormatter;
use Mangoweb\MonologTracyHandler\TracyHandler;
use Mangoweb\MonologTracyHandler\TracyProcessor;
class LoggerFactory
{
public static function create(string $log_directory) : LoggerInterface
{
$file_handler = new StreamHandler($log_directory . "/main.log", 'debug');
$file_handler->setFormatter(new LineFormatter(null, null , false, true));
$logger = new Logger('default');
$logger->pushProcessor(new TracyProcessor);
$logger->pushHandler(new TracyHandler($log_directory));
$logger->pushHandler($file_handler);
return $logger;
}
public static function createForTests() : LoggerInterface
{
$logger = new Logger('default');
$logger->pushHandler(new NoopHandler());
return $logger;
}
}