php – 如何在Silex-WebProfiler中集成Monolog?

我目前正在使用带有Monolog的Silex Framework作为日志记录机制.通过使用以下组件-https://github.com/silexphp/Silex-WebProfiler(Silex-WebProfiler),我能够成功地将认的Symfony WebProfiler集成到我的项目中.它可以工作,但不幸的是它无法从其_profiler页面显示来自Monolog的日志消息.有人知道如何解决这个问题吗?

这是我的配置,如果这是相关的:

use Silex\Provider;
...
//Monolog
$app->register(new Provider\MonologServiceProvider(), array(
    'monolog.logfile' => __DIR__ . '/../log/development.log',
    'monolog.name'    => 'MyAppName'
));
...
// Web Profiler
if ($app['debug']) {
    $app->register(new Provider\WebProfilerServiceProvider(), array(
        'profiler.cache_dir' => __DIR__.'/../cache/profiler/',
        'profiler.mount_prefix' => '/_profiler', // this is the default
    ));    
}

解决方法:

我也想知道这一点,我在MonologServiceProvider中找到了这些行.

if ($bridge = class_exists('Symfony\Bridge\Monolog\Logger')) {
    $app['monolog.handler.debug'] = function () use ($app) {
        return new DebugHandler($app['monolog.level']);
    };
}

Symfony Monolog Bridge组件启用了对Web Profiler的日志记录.我把它添加到我的composer.json:

"symfony/monolog-bridge": "~2.3"

现在,我在Web Profiler的该面板中看到了日志条目. (确保monolog-bridge的版本与您在composer.json中声明的其他Symfony组件的版本一致,这可能是一个好主意.)

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...