Podmienené nakofigurovanie služby podľa %debugMode%

srigi
Nette Blogger | 558
+
0
-

Chcel by som na localhoste pridať do Monologu ďalší handler. Nechcem to ale robiť pomocou config/local.neon pretože v dobe cloudovej a Dockeru to považujem za antipattern. Okrem toho, developerský režim je možné jednoducho aktivovať napr. pomocou cookie a pod v produkcii.

Mám config pre Monolog:

extensions:
	monolog: Contributte\Monolog\DI\MonologExtension


monolog:
	hook:
		fromTracy: false
		toTracy: false

	channel:
		default:
			handlers:
				- Monolog\Handler\StreamHandler('php://stderr')
			processors:
				- Monolog\Processor\MemoryPeakUsageProcessor()

V prípade, že $debugMode === true, by som chcel…

			handlers:
				- Monolog\Handler\StreamHandler('php://stderr')
				- Monolog\Handler\BrowserConsoleHandler

Je može extension nakonfigurovať podmienene?

jiri.pudil
Nette Blogger | 1032
+
+2
-

Můžeš to vyřešit kompozicí: napsat si jednoduchý DebugOnlyHandler(%debugMode%, BrowserConsoleHandler()), který na základě hodnoty debugMode message zahodí, anebo deleguje do vnitřního handleru