diff --git a/src/output/TODO.md b/src/output/TODO.md index 87c6b0e..3a4e60a 100644 --- a/src/output/TODO.md +++ b/src/output/TODO.md @@ -4,5 +4,8 @@ rotation des logs * [ ] lors de la rotation, si l'ouverture du nouveau fichier échoue, continuer à écrire dans l'ancien fichier +* [ ] dans `StdMessenger::resetParams()`, `[output]` peut être une instance de + StdOutput pour mettre à jour $out ET $err, ou un tableau de deux éléments pour + mettre à jour séparément $out et $err -*- coding: utf-8 mode: markdown -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8:noeol:binary \ No newline at end of file diff --git a/src/output/std/StdMessenger.php b/src/output/std/StdMessenger.php index d1b52c1..091954b 100644 --- a/src/output/std/StdMessenger.php +++ b/src/output/std/StdMessenger.php @@ -150,9 +150,14 @@ class StdMessenger implements _IMessenger { "color" => $color, "indent" => $indent, ]; - if ($output !== null) { + if ($this->out === $this->err) { $this->out->resetParams($params); } else { + # NB: si initialement [output] était null, et qu'on spécifie une valeur + # [output], alors les deux instances $out et $err sont mis à jour + # séparément avec la même valeur de output + # de plus, on ne peut plus revenir à la situation initiale avec une + # destination différente pour $out et $err $this->out->resetParams($params); $this->err->resetParams($params); }