Compare commits

..

4 Commits

Author SHA1 Message Date
jay 09dd5847ec implement 2026-08-10 15:06:51 -04:00
jay 3fd4ed527d require monolog/monlog, potter/container; and re-namespace 2026-08-10 15:06:37 -04:00
jay f8e45defbb composer init 2026-08-10 14:39:00 -04:00
jay 56a855298a add .gitignore 2026-08-10 14:38:10 -04:00
5 changed files with 79 additions and 0 deletions
+3
View File
@@ -0,0 +1,3 @@
composer.lock
/nbproject/
/vendor/
+22
View File
@@ -0,0 +1,22 @@
{
"name": "potter/logger",
"type": "library",
"license": "MIT",
"autoload": {
"psr-4": {
"Potter\\Logger\\": "src/Potter/Logger/"
}
},
"authors": [
{
"name": "Jay Potter",
"email": "j@ypotter.ca"
}
],
"minimum-stability": "stable",
"require": {
"monolog/monolog": ">=3.10.0",
"potter/container": ">=0.0.1",
"psr/log": ">=3.0.2"
}
}
+38
View File
@@ -0,0 +1,38 @@
<?php
declare(strict_types=1);
namespace Potter\Logger;
use \Potter\Container;
trait Behaviour
{
abstract private static function addConsoleBehaviour(Container $container): void;
private static function addLogger(Container $container): void
{
self::addConsoleBehaviour($container);
self::addLoggerHandlers($container);
$container->addShared(Logger::class)
->addArgument(static::class)
->addArgument(self::getLoggerHandlers($container));
}
private static function addLoggerBehaviour(Container $container): void
{
self::addLogger($container);
}
private static function addLoggerHandlers(Container $container): void
{
$container->addShared(Handler::class)
->addArgument(self::getLoggerHandlers($container));
}
private static function getLoggerHandlers(Container $container): array
{
return [$container->get(Handler::class)];
}
}
+8
View File
@@ -0,0 +1,8 @@
<?php
declare(strict_types=1);
namespace Potter\Logger;
final class Handler extends \Monolog\Handler\PsrHandler
{ }
+8
View File
@@ -0,0 +1,8 @@
<?php
declare(strict_types=1);
namespace Potter\Logger;
final class Logger extends \Monolog\Logger
{ }