41 lines
932 B
PHP
41 lines
932 B
PHP
<?php
|
|
namespace nulib\output;
|
|
|
|
use nulib\output\std\LogMessenger;
|
|
use nulib\output\std\ProxyMessenger;
|
|
|
|
/**
|
|
* Class log: ajouter un message dans les logs
|
|
*
|
|
* Cette classe DEVRAIT être initialisée avant utilisation. Sinon, elle envoie
|
|
* ses messages vers /dev/null
|
|
*
|
|
* mode | con | web | log
|
|
* ------|-----|-----|-----
|
|
* cli | | | x
|
|
* web | | | x
|
|
*/
|
|
class log extends _messenger {
|
|
use _TMessenger;
|
|
|
|
static function get(): IMessenger {
|
|
return self::$msg ??= static::$msg = new ProxyMessenger();
|
|
}
|
|
|
|
protected static function ensure_log(): IMessenger {
|
|
$msg = self::$msg;
|
|
if ($msg instanceof ProxyMessenger && $msg->isEmpty()) {
|
|
$msg->addMessenger(new LogMessenger([
|
|
"min_level" => msg::MINOR,
|
|
]));
|
|
}
|
|
return $msg;
|
|
}
|
|
|
|
static function set_output(string $logfile): void {
|
|
self::ensure_log()->resetParams([
|
|
"output" => $logfile,
|
|
]);
|
|
}
|
|
}
|