码迷,mamicode.com
首页 > 其他好文 > 详细

yii2之log组件学习

时间:2016-08-19 20:46:39      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:

1、配置阶段

  1)log组件放入bootstrap配置中,用于初始化启动

  2)components中配置log的日志消费处理类

    技术分享

2、启动逻辑

  1)yii框架实例化组件log,coreComponents方法默认指定log对应yii\log\Dispatcher类

  2)Dispatcher类实例化,__construct方法根据配置设置静态常量logger,然后调用父类的__construct方法(即Object的)将参数设置为实例的属性,如果配置没有配置logger,则设置成默认的yii\log\Logger类

  3)然后Dispatcher类再调用init方法,将配置中的targets里的日志消费处理类实例化

  4)至此,log类已经启动完成,可以等待产生日志了

 

3、产生日志及日志消费逻辑

  1)调用Yii::trace、Yii::error、Yii::info、Yii::warning产生日志

  2)框架读取静态常量logger,来调用log方法

  3)log方法根据一定条件触发flush方法,用于触发日志消费类来消费日志数据

  4)flush方法中读取dispatcher实例,调用dispatcher方法,将日志数据路由

  5)dispatcher方法循环遍历配置中的日志消费类实例,调用collect方法来收集日志数据

  6)collect方法根据配置中设置的levels来过滤日志,最后调用export方法将日志消费(不同的日志消费类有自己的export方法)

  7)至此产生日志及日志消费逻辑结束

yii2之log组件学习

标签:

原文地址:http://www.cnblogs.com/echosimple/p/5788799.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!