nette / tracy

😎 Tracy: the addictive tool to ease debugging PHP code for cool developers. Friendly design, logging, profiler, advanced features like debugging AJAX calls or CLI support. You will love it.

Home Page:https://tracy.nette.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Ability to log all errors in development mode

maryo opened this issue · comments

We'd like to be able to log all errors in development mode so they are both displayed in the bar but also logged using (our instance of) ILogger.
This would help up us not only when debugging errors during AJAX calls or some server-server requests, there are multiple use cases where this is useful (we have a special page with links to all older bluescreens).

Currently, the are DevelopmentStrategy and ProductionStrategy classes but they are both internal and final. I understand it is for a reason but...
In 2.9.7, the internal method getStrategy has no return typehint so it is still possible to do some black magic like decorating the strategy to do both 😇 👿.

\Closure::bind(
    static function () {
        Debugger::$strategy[false] = new LoggingDevelopmentStrategy(Debugger::getStrategy());
    },
    null,
    Debugger::class
)();

Since 2.10.0 the getStrategy has ProductionStrategy|DevelopmentStrategy return typehint so this ugly hack is not possible anymore.
Wouldn't it be possible to support such a feature or somehow make this ugly hack possible again 😇?