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 相关文章推荐
建立动态的WML站点(二)
Oct 09 PHP
php cookie的操作实现代码(登录)
Dec 29 PHP
phpexcel导入excel数据使用方法实例
Dec 24 PHP
WordPress主题制作之模板文件的引入方法
Dec 28 PHP
PHP简单判断iPhone、iPad、Android及PC设备的方法
Oct 11 PHP
php封装的单文件(图片)上传类完整实例
Oct 18 PHP
PHP实现对数组分页处理实例详解
Feb 07 PHP
php+ajax实现异步上传文件或图片功能
Jul 18 PHP
PHP异步进程助手async-helper
Feb 05 PHP
Laravel中10个有用的用法小结
May 06 PHP
thinkphp5框架API token身份验证功能示例
May 21 PHP
宝塔面板在NGINX环境中TP5.1如何运行?
Mar 09 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解决URL中文GBK乱码问题的两种方法
2014/06/03 PHP
PHP的Yii框架中Model模型的学习教程
2016/03/29 PHP
PHP获取用户访问IP地址的5种方法
2016/05/16 PHP
JavaScript 的方法重载效果
2009/08/07 Javascript
jquery.ui.progressbar 中文文档
2009/11/26 Javascript
Jquery 插件开发笔记整理
2011/01/17 Javascript
js通过googleAIP翻译PHP系统的语言配置的实现代码
2011/10/17 Javascript
js将当前时间格式转换成时间搓(自写)
2013/09/26 Javascript
你所不了解的javascript操作DOM的细节知识点(一)
2015/06/17 Javascript
JS加载iFrame出现空白问题的解决办法
2016/05/13 Javascript
JQuery点击行tr实现checkBox选中的简单实例
2016/05/26 Javascript
JS中with的替代方法与String中的正则方法详解
2016/12/23 Javascript
bootstrap suggest搜索建议插件使用详解
2017/03/25 Javascript
简单实现jQuery弹幕效果
2017/05/06 jQuery
Ionic + Angular.js实现验证码倒计时功能的方法
2017/06/12 Javascript
vue动态设置img的src路径实例
2018/09/18 Javascript
浅析JS中什么是自定义react数据验证组件
2018/10/19 Javascript
详解如何使用微信小程序云函数发送短信验证码
2019/03/13 Javascript
vue-router跳转时打开新页面的两种方法
2019/07/29 Javascript
echarts实现获取datazoom的起始值(包括x轴和y轴)
2020/07/20 Javascript
vue-cli 关闭热更新操作
2020/09/18 Javascript
[01:23:24]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Elephant BO3 第三场 2月7日
2021/03/11 DOTA
Python运用于数据分析的简单教程
2015/03/27 Python
Python入门之三角函数tan()函数实例详解
2017/11/08 Python
对Python之gzip文件读写的方法详解
2019/02/08 Python
Python发展史及网络爬虫
2019/06/19 Python
python系列 文件操作的代码
2019/10/06 Python
Windows10下Tensorflow2.0 安装及环境配置教程(图文)
2019/11/21 Python
利用CSS3的flexbox实现水平垂直居中与三列等高布局
2016/09/12 HTML / CSS
捷克购买家具网站:JENA nábytek
2020/03/19 全球购物
学习保证书范文
2014/04/30 职场文书
优秀求职信
2014/05/29 职场文书
护士自荐信范文
2015/03/25 职场文书
经营目标责任书
2015/05/08 职场文书
使用nginx动态转换图片大小生成缩略图
2021/03/31 Servers
Nginx文件已经存在全局反向代理问题排查记录
2022/07/15 Servers