【问题标题】:Slim v4 Creating Log FileSlim v4 创建日志文件
【发布时间】:2020-07-27 05:24:02
【问题描述】:

所以,我的问题是我无法让 Slim 将其所有操作记录在一个文件中(例如:app.log)。我遇到了很多类似的教程和其他论坛,但问题是他们使用的是 Slim 框架的 v3。 我在 settings.php 中看到一些帖子建议这样的事情:

return [
    'settings' => [
        'displayErrorDetails' => true, // set to false in production
        'addContentLengthHeader' => false, // Allow the web server to send the content-length header
        // Renderer settings
        'renderer' => [
            'template_path' => __DIR__ . '/../templates/',
        ],
        // Monolog settings
        'logger' => [
            'name' => 'my-app',
            'path' => __DIR__ . '/../logs/' . $logDate->format('Y-m-d') . 'app.log',
        ],
    ],
];

但该方法的问题在于,在 v4 中,设置不再以这种方式设置。所以我在这里。卡住。如果有人能帮帮我,那将有很大帮助!

【问题讨论】:

  • 设置在 Slim 4 中仍然相同,您只需在容器定义中加载设置。你想达到什么目的?
  • 我正在尝试创建一个日志文件,其中包含应用程序进行的所有活动并将其存储在“app.log”文件中。我怎样才能做到这一点?如何在容器中加载设置?

标签: php debugging logging frameworks slim


【解决方案1】:

要在容器中加载设置,您必须为其添加容器定义。

示例设置文件:config/settings.php

return [
    // set to false in production
    'displayErrorDetails' => true,

    // Renderer settings
    'renderer' => [
        'template_path' => __DIR__ . '/../templates/',
    ],
    // Monolog settings
    'logger' => [
        'name' => 'my-app',
        'path' => __DIR__ . '/../logs/' . date('Y-m-d') . '_app.log',
     ],
];

config/container.php 中的示例容器条目:


use Psr\Container\ContainerInterface;
// ...

return [
    // ...

    'settings' => function () {
        return require __DIR__ . '/settings.php';
    },

   // Add more entries here ...
}

要获取容器中的设置,请使用:

use Psr\Container\ContainerInterface;
use Psr\Log\LoggerInterface;
// ...

return [
    // ...

    LoggerInterface::class => function (ContainerInterface $container) {
        $settings = $container->get('settings');
        $name = $settings['logger']['name'];

        $logger = new Logger($name);
        // Add logger handler...

        return $logger;
    },

    // ...
}

提示:为了支持自动装配,最好使用集合对象而不是简单的“字符串”作为容器标识符。 Read more

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-04-10
    • 2019-02-09
    • 1970-01-01
    • 1970-01-01
    • 2011-02-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多