【问题标题】:Silex : log dbal exceptionsSilex:记录 dbal 异常
【发布时间】:2015-10-19 02:57:17
【问题描述】:

我正在使用 Silex 微框架。我搜索了一种方法来记录每个 dbal 异常(来自请求、控制台命令等)

我没有找到有效的方法。即使我在$app->error(); 中声明了一个回调函数,它对控制台异常也不起作用

我如何告诉 dbal 登录一个文件中的所有 db 错误/异常?

【问题讨论】:

    标签: exception logging console silex dbal


    【解决方案1】:

    如果你有 Silex 的胖版本,你应该已经使用 MonologServiceProvider 进行异常日志记录,只要它已注册。

    控制台通常是Symfony\Component\Console\Application 的实例(不是Silex\Application)。

    编辑完成记录控制台异常的一种方法是将控制台捕获异常设置为 false:

    $console->setCatchExceptions(false);
    

    然后将 $console->run(); 包装在 try catch 中:

    try {
        $console->run();
    }
    catch(\Doctrine\DBAL\DBALException $e) {
        $app['monolog']->addError(sprintf('Console DBALException %s %s %s', $e->getMessage(), $e->getTraceAsString(), $e->getFile(), $e->getLine()));
    }
    catch(\Exception $e) {
        $app['monolog']->addError(sprintf('Console Exception %s %s %s', $e->getMessage(), $e->getTraceAsString(), $e->getFile(), $e->getLine()));
    }
    

    【讨论】:

      猜你喜欢
      • 2014-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-02
      相关资源
      最近更新 更多