Znak procento v config.neon
- n3t
- Člen | 37
Ahoj,
potřeboval bych do configu dostat následující zápis
- setFormatter(Monolog\Formatter\LineFormatter("[%datetime%] [%level_name%]: %message% %context%\n"))
Ale končím na chybě Missing parameter ‚datetime‘.
Zkoušel jsem zdvojovat, přidávat lomítka, rozdělovat řetězce, ale nic se mi nedaří. Je nějaká možnost jak do configu zapsat hodnotu %datetime% aniž by se snažila vyhodnotit jako parametr?
Dík
Editoval n3t (16. 11. 2019 18:10)
- n3t
- Člen | 37
Ještě jsem chvíli zkoumal, a funguje, ale jak kde.
Tady to vyhodí chybu
monolog:
channel:
default:
handlers:
-
create: Monolog\Handler\RotatingFileHandler(%logDir%/console.log, 10, Monolog\Logger::DEBUG)
setup:
- setFormatter(Monolog\Formatter\LineFormatter("[%%datetime%%][%%level_name%%]: %%message%% %%context%%\n"))
ale tady ne
services:
log.formatter: Monolog\Formatter\LineFormatter("[%%datetime%%] [%%level_name%%]: %%message%% %%context%%\n")
monolog:
channel:
default:
handlers:
-
create: Monolog\Handler\RotatingFileHandler(%logDir%/console.log, 10, Monolog\Logger::DEBUG)
setup:
- setFormatter(@log.formatter)
jedná se o contributte/monolog, může být chyba tam? Vypadá to jako by se ta sekce monolog parsovala dvakrát, poprvé to projde a podruhé už zas hledá parametr. Zkusil ještě znovu zdvojit, a to zas funguje
monolog:
channel:
default:
handlers:
-
create: Monolog\Handler\RotatingFileHandler(%logDir%/console.log, 10, Monolog\Logger::DEBUG)
setup:
- setFormatter(Monolog\Formatter\LineFormatter("[%%%%datetime%%%%][%%%%level_name%%%%]: %%%%message%%%% %%%%context%%%%\n"))
Začíná to ale ztrácet na přehlednosti :) Každopádně mám to aktuálně jako službu, tam je vše ok.
- Marek Bartoš
- Nette Blogger | 1274
Parametry se expandují v nette/di a tenhle způsob zápisu konfigurace co máme v contributte/monolog interně jen volá jiný kód v nette/di (tady), takže bych v tom problém nehledal, ale netuším proč ti to nejde
- her-ur
- Člen | 20
Vypadá to na problém v Nette\DI\Helpers::
expand(). Stačí, aby ve stringu byl 2× znak %, viz: https://3v4l.org/ndv6X
Ale nevím, jestli to je bug nebo špatné použití?
- Marek Bartoš
- Nette Blogger | 1274
Už vidím v čem je problém. Při zpracování configu extension se
expandují parametry a pak při načtení služeb přes
$this->compiler->loadDefinitionsFromConfig()
znova
Editoval Mabar (20. 11. 2019 18:53)