Yii2框架中日志的使用方法分析


Posted in PHP onMay 22, 2017

本文实例讲述了Yii2框架中日志的使用方法。分享给大家供大家参考,具体如下:

Yii2和Yii1.x的区别

Yii2里面日志的使用方法和Yii 1.x并不相同,

在Yii 1.x中,记录日志的方法为

Yii::log($message, $level, $category);
Yii::trace($message, $category);

后者仅在调试模式下记录日志。

这里的log方法是YiiBase的静态方法。

在Yii2中,面向对象的设计贯彻得更加彻底,日志记录功能被转移到Logger类中,并支持多种输出目标(Targets)。

Yii2中的日志使用方法

为了记录日志,你首先需要获取Logger类单一实例,然后调用该类的公有日志记录方法:

Yii::getLogger()->log($msg, $level, $category)

实例如下:

Yii::getLogger()->log(“your site has been hacked”, Logger::LEVEL_ERROR)
//默认category为application即应用程序级别的日志

此外Yii2提供了一些快捷方法:

Yii::trace() 用于开发调试时记录日志,需要把 YII_DEBUG 设置为 true.
Yii::error() 用于记录不可恢复的错误
Yii::warning() 一些警告信息
Yii::info() 一些系统行为记录如管理员操作提示

Yii2定制日志输出目标

要定制目标,比如想在发生不可恢复错误时同时记录文件和发送邮件,可定制如下:

[
  'bootstrap' => ['log'], // ensure logger gets loaded before application starts
  'components' => [
    'log' => [
      'targets' => [
        'file' => [
          'class' => 'yii\log\FileTarget',
          'levels' => ['trace', 'info'],
          'categories' => ['yii\*'],
        ],
        'email' => [
          'class' => 'yii\log\EmailTarget',
          'levels' => ['error', 'warning'],
          'message' => [
            'to' => ['admin@techbrood.com', 'support@techbrood.com'],
            'subject' => 'New example.com log message',
          ],
        ],
      ],
    ],
  ],
]

更多日志及调试器内容,请参见Yii2权威指南中文版

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

PHP 相关文章推荐
解决文件名解压后乱码的问题 将文件名进行转码的代码
Jan 10 PHP
ThinkPHP的L方法使用简介
Jun 18 PHP
destoon公司主页模板风格的添加方法
Jun 20 PHP
PHP中使用break跳出多重循环代码实例
Jan 21 PHP
php单例模式示例分享
Feb 12 PHP
PHP调试的强悍利器之PHPDBG
Feb 22 PHP
Symfony2获取web目录绝对路径、相对路径、网址的方法
Nov 14 PHP
Symfony2针对输入时间进行查询的方法分析
Jun 28 PHP
php实现的统计字数函数定义与使用示例
Jul 26 PHP
PHP类与对象后期静态绑定操作实例详解
Dec 20 PHP
PHP convert_uudecode()函数讲解
Feb 14 PHP
CI框架教程之优化验证码机制详解【验证码辅助函数】
Apr 16 PHP
浅谈PHP面向对象之访问者模式+组合模式
May 22 #PHP
php readfile下载大文件失败的解决方法
May 22 #PHP
老生常谈PHP 文件写入和读取(必看篇)
May 22 #PHP
PHP中trait使用方法详细介绍
May 21 #PHP
php写app接口并返回json数据的实例(分享)
May 20 #PHP
PHP实现json_decode不转义中文的方法
May 20 #PHP
Yii框架参数化查询中IN查询只能查询一个的解决方法
May 20 #PHP
You might like
php中mysql模块部分功能的简单封装
2011/09/30 PHP
解析php防止form重复提交的方法
2013/07/01 PHP
Thinkphp 5.0实现微信企业付款到零钱
2018/09/30 PHP
jquery实现背景墙聚光灯效果示例分享
2014/03/02 Javascript
js简单实现表单中点击按钮动态增加输入框数量的方法
2015/08/18 Javascript
Java中Timer的用法详解
2015/10/21 Javascript
JavaScript中获取Radio被选中的值
2015/11/11 Javascript
node模块机制与异步处理详解
2016/03/13 Javascript
酷! 不同风格页面布局幻灯片特效js实现
2021/02/19 Javascript
深入理解Node.js的HTTP模块
2016/10/12 Javascript
Vue+axios 实现http拦截及路由拦截实例
2017/04/25 Javascript
vue文件树组件使用详解
2018/03/29 Javascript
bootstrap table实现合并单元格效果
2018/12/24 Javascript
微信小程序使用蓝牙小插件
2019/09/23 Javascript
vant实现购物车功能
2020/06/29 Javascript
vue 如何从单页应用改造成多页应用
2020/10/23 Javascript
vue 递归组件的简单使用示例
2021/01/14 Vue.js
Python中使用语句导入模块或包的机制研究
2015/03/30 Python
python中nan与inf转为特定数字方法示例
2017/05/11 Python
Python计算一个给定时间点前一个月和后一个月第一天的方法
2018/05/29 Python
python实现银行管理系统
2019/10/25 Python
Matplotlib绘制雷达图和三维图的示例代码
2020/01/07 Python
python图形开发GUI库pyqt5的基本使用方法详解
2020/02/14 Python
基于Tensorflow读取MNIST数据集时网络超时的解决方式
2020/06/22 Python
使用Python快速打开一个百万行级别的超大Excel文件的方法
2021/03/02 Python
高清安全摄像头系统:Lorex Technology
2018/07/20 全球购物
澳大利亚家具商店:Freedom
2020/12/17 全球购物
精神文明建设标语
2014/06/16 职场文书
优秀应届生求职信
2014/06/16 职场文书
八项规定自查自纠报告及整改措施
2014/10/26 职场文书
2015年副班长工作总结
2015/05/15 职场文书
2015年库房管理工作总结
2015/10/14 职场文书
司法廉洁教育心得体会
2016/01/20 职场文书
2019年度行政文员工作计划范本!
2019/07/04 职场文书
开学第一周日记(三篇范文)
2019/08/23 职场文书
关于办理居住证的介绍信模板
2019/11/27 职场文书