modifs.mineures sans commentaires
This commit is contained in:
parent
64fd232f71
commit
e62e4ebfa4
|
@ -5,7 +5,7 @@ namespace nur\sery\output;
|
||||||
* Interface IMessenger: un objet pouvant afficher des messages de l'application
|
* Interface IMessenger: un objet pouvant afficher des messages de l'application
|
||||||
*/
|
*/
|
||||||
interface IMessenger {
|
interface IMessenger {
|
||||||
const LEVEL_DEBUG = -1, LEVEL_NORMAL = 0, LEVEL_MAJOR = 1;
|
const LEVEL_DEBUG = -1, LEVEL_NORMAL = 0, LEVEL_MAJOR = 1, LEVEL_NONE = 2;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* commencer une section.
|
* commencer une section.
|
||||||
|
|
|
@ -11,6 +11,7 @@ class StdMessenger implements IMessenger {
|
||||||
self::LEVEL_DEBUG,
|
self::LEVEL_DEBUG,
|
||||||
self::LEVEL_NORMAL,
|
self::LEVEL_NORMAL,
|
||||||
self::LEVEL_MAJOR,
|
self::LEVEL_MAJOR,
|
||||||
|
self::LEVEL_NONE,
|
||||||
];
|
];
|
||||||
const LEVEL_MAP = [
|
const LEVEL_MAP = [
|
||||||
"debug" => self::LEVEL_DEBUG,
|
"debug" => self::LEVEL_DEBUG,
|
||||||
|
@ -19,16 +20,19 @@ class StdMessenger implements IMessenger {
|
||||||
"n" => self::LEVEL_NORMAL,
|
"n" => self::LEVEL_NORMAL,
|
||||||
"major" => self::LEVEL_MAJOR,
|
"major" => self::LEVEL_MAJOR,
|
||||||
"m" => self::LEVEL_MAJOR,
|
"m" => self::LEVEL_MAJOR,
|
||||||
|
"none" => self::LEVEL_NONE,
|
||||||
];
|
];
|
||||||
|
|
||||||
protected static function verifix_level($level, bool $debug): int {
|
protected static function verifix_level($level, int $max_level=self::LEVEL_MAJOR): int {
|
||||||
if ($level === null) $level = $debug? self::LEVEL_DEBUG: self::LEVEL_NORMAL;
|
|
||||||
if (!in_array($level, self::VALID_LEVELS, true)) {
|
if (!in_array($level, self::VALID_LEVELS, true)) {
|
||||||
$level = cl::get(self::LEVEL_MAP, $level, $level);
|
$level = cl::get(self::LEVEL_MAP, $level, $level);
|
||||||
}
|
}
|
||||||
if (!in_array($level, self::VALID_LEVELS, true)) {
|
if (!in_array($level, self::VALID_LEVELS, true)) {
|
||||||
throw new Exception("$level: invalid level");
|
throw new Exception("$level: invalid level");
|
||||||
}
|
}
|
||||||
|
if ($level > $max_level) {
|
||||||
|
throw new Exception("$level: level not allowed here");
|
||||||
|
}
|
||||||
return $level;
|
return $level;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -78,8 +82,12 @@ class StdMessenger implements IMessenger {
|
||||||
$output = cl::get($params, "output");
|
$output = cl::get($params, "output");
|
||||||
$color = cl::get($params, "color");
|
$color = cl::get($params, "color");
|
||||||
$debug = boolval(cl::get($params, "debug"));
|
$debug = boolval(cl::get($params, "debug"));
|
||||||
$minLevel = self::verifix_level(cl::get($params, "min_level"), $debug);
|
$defaultLevel = cl::get($params, "default_level");
|
||||||
$defaultLevel = self::verifix_level(cl::get($params, "default_level"), false);
|
if ($defaultLevel === null) $defaultLevel = self::LEVEL_NORMAL;
|
||||||
|
$defaultLevel = self::verifix_level($defaultLevel);
|
||||||
|
$minLevel = cl::get($params, "min_level");
|
||||||
|
if ($minLevel === null) $minLevel = $debug? self::LEVEL_DEBUG: self::LEVEL_NORMAL;
|
||||||
|
$minLevel = self::verifix_level($minLevel, self::LEVEL_NONE);
|
||||||
|
|
||||||
$params = [
|
$params = [
|
||||||
"color" => $color,
|
"color" => $color,
|
||||||
|
@ -91,8 +99,8 @@ class StdMessenger implements IMessenger {
|
||||||
$this->out = new StdOutput(STDOUT, $params);
|
$this->out = new StdOutput(STDOUT, $params);
|
||||||
$this->err = new StdOutput(STDERR, $params);
|
$this->err = new StdOutput(STDERR, $params);
|
||||||
}
|
}
|
||||||
$this->minLevel = $minLevel;
|
|
||||||
$this->defaultLevel = $defaultLevel;
|
$this->defaultLevel = $defaultLevel;
|
||||||
|
$this->minLevel = $minLevel;
|
||||||
$this->inSection = false;
|
$this->inSection = false;
|
||||||
$this->titles = [];
|
$this->titles = [];
|
||||||
$this->title = null;
|
$this->title = null;
|
||||||
|
@ -106,12 +114,12 @@ class StdMessenger implements IMessenger {
|
||||||
/** @var StdOutput la sortie d'erreur */
|
/** @var StdOutput la sortie d'erreur */
|
||||||
protected $err;
|
protected $err;
|
||||||
|
|
||||||
/** @var int level minimum que doivent avoir les messages pour être affichés */
|
|
||||||
protected $minLevel;
|
|
||||||
|
|
||||||
/** @var int level par défaut dans lequel les messages sont affichés */
|
/** @var int level par défaut dans lequel les messages sont affichés */
|
||||||
protected $defaultLevel;
|
protected $defaultLevel;
|
||||||
|
|
||||||
|
/** @var int level minimum que doivent avoir les messages pour être affichés */
|
||||||
|
protected $minLevel;
|
||||||
|
|
||||||
protected function checkLevel(?int &$level): bool {
|
protected function checkLevel(?int &$level): bool {
|
||||||
if ($level === null) $level = $this->defaultLevel;
|
if ($level === null) $level = $this->defaultLevel;
|
||||||
return $level >= $this->minLevel;
|
return $level >= $this->minLevel;
|
||||||
|
|
|
@ -7,6 +7,9 @@
|
||||||
si pas de message, prendre le message de l'exception par défaut
|
si pas de message, prendre le message de l'exception par défaut
|
||||||
* [ ] possibilité de paramétrer le nom du fichier destination pour faire une
|
* [ ] possibilité de paramétrer le nom du fichier destination pour faire une
|
||||||
rotation des logs
|
rotation des logs
|
||||||
|
* [ ] support quiet (uniquement major), very-quiet (aucun message n'est affiché)
|
||||||
|
* [ ] support verbose? cela suppose rajouter un niveau supplémentaire `LEVEL_MINOR`
|
||||||
|
entre `LEVEL_DEBUG` et `LEVEL_NORMAL`
|
||||||
|
|
||||||
## Principe
|
## Principe
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue