doujiao1538 2018-08-29 06:14
浏览 6
已采纳

Zend 3 - 使用记录器作为服务

I am quite novice with ZF3 and I can't figure out how should I define a logger module as a service and how could I use (reuse) it in other modules. The official documentation is poor from this point of view. Any short example would be good.

  • 写回答

1条回答 默认 最新

  • duanshan7261 2018-08-29 09:05
    关注

    If you want to use zend-log in ZF app, after installation you need to do 2 thing:

    1. To register Zend\Log in the application config under the 'modules' key.

    2. Add config for your logger in global.php or module config

      'log' => [
        'MyLogger' => [
          'writers' => [
              'stream' => [
                  'name' => 'stream',
                  'priority' => \Zend\Log\Logger::ALERT,
                  'options' => [
                      'stream' => '/tmp/php_errors.log',
                      'formatter' => [
                          'name' => \Zend\Log\Formatter\Simple::class,
                          'options' => [
                              'format' => '%timestamp% %priorityName% (%priority%): %message% %extra%',
                              'dateTimeFormat' => 'c',
                          ],
                      ],
                      'filters' => [
                          'priority' => [
                              'name' => 'priority',
                              'options' => [
                                  'operator' => '<=',
                                  'priority' => \Zend\Log\Logger::INFO,
                              ],
                          ],
                      ],
                  ],
              ],
          ],
        ],
      ],
      

    after that just take it from Service Manager and use it:

    $logger = $container->get('MyLogger'); // <-- the key that you register in config above
    $logger->info('Logging info message in the file');
    

    You probably want to take logger from SM and than inject it in a class that you want to use it.

    There is a god blog post about Logging with zend-log

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
  • ¥20 steam下载游戏占用内存
  • ¥15 CST保存项目时失败
  • ¥15 树莓派5怎么用camera module 3啊
  • ¥20 java在应用程序里获取不到扬声器设备
  • ¥15 echarts动画效果的问题,请帮我添加一个动画。不要机器人回答。
  • ¥15 Attention is all you need 的代码运行
  • ¥15 一个服务器已经有一个系统了如果用usb再装一个系统,原来的系统会被覆盖掉吗
  • ¥15 使用esm_msa1_t12_100M_UR50S蛋白质语言模型进行零样本预测时,终端显示出了sequence handled的进度条,但是并不出结果就自动终止回到命令提示行了是怎么回事:
  • ¥15 前置放大电路与功率放大电路相连放大倍数出现问题