【问题标题】:Enabling logwriter in Userfrosting在 Userfrosting 中启用 logwriter
【发布时间】:2016-07-26 17:59:51
【问题描述】:

我正在尝试使用内置的 Slim 记录器,但目前没有成功。

这是我正在尝试的,但我得到了一个错误。

  1. 更改为 config_userfrosting.php:

    /*Create a log writer */
    
    $logWriter = new \UserFrosting\LogWriter(fopen('C:\xampp\htdocs\userfrosting\log\dev_logfile.log', 'a'));
    
    $app->configureMode('dev', function () use ($app, $public_path, $uri_public_root) {
    $app->config([
        'log.enable' => true,
        'log.writer' => $logWriter,
        'debug' => false,
    
  2. 来自 index.php 的调用日志编写器:

$app->log->debug("这是来自记录器的测试...");

收到错误:

  PHP Notice:  Undefined variable: logWriter in \\userfrosting\\config-userfrosting.php on line 33

【问题讨论】:

    标签: slim userfrosting


    【解决方案1】:

    为了在闭包 (configureMode) 中访问变量,您需要将其与 use(...) 参数列表一起传递:

    $app->configureMode('dev', function () use ($app, $public_path, $uri_public_root, $logWriter) {
    
        $app->config([
            'log.enable' => true,
            'log.writer' => $logWriter,
            'debug' => false,
            ...
    });
    

    【讨论】:

    • 我更新了 use(..) 参数,如图所示。但是,现在出现以下错误:PHP Fatal error: Class 'UserFrosting\\LogWriter' not found in C:\\xampp\\htdocs\\userfrosting\\config-userfrosting.php
    • 知道了。我需要改用 \Slim\Logwriter。谢谢@alexw。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-09
    • 1970-01-01
    • 2018-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-28
    相关资源
    最近更新 更多