17. Yii 2.0 log组件
来源:互联网 发布:2016年网络炒作事件 编辑:程序博客网 时间:2024/06/05 14:47
log组件主要用于记录程序运行过程中产生的异常(或错误)或 操作日志。
这里以 Yii 2.0 基础版为例,高级版类似。
Yii 封装的日志类文件位于 /vendor/yiisoft/yii2/log 目录下。
log组件支持的日志介质主要有 DbTarget.php、FileTarget.php、EmailTarget.php和SyslogTarget.php。
这里我们主要介绍前三种,即数据库日志、文件日志和邮件日志。
记录日志的级别,主要有以下几种:
self::LEVEL_ERROR => 'error', // 不可恢复的异常信息
self::LEVEL_WARNING => 'warning', // 程序运行时的警告信息
self::LEVEL_INFO => 'info', // 程序运行时的信息,如:管理员操作
self::LEVEL_TRACE => 'trace', // 调试信息,需要开启 YII_DEBUG 调试模式
self::LEVEL_PROFILE_BEGIN => 'profile begin',
self::LEVEL_PROFILE_END => 'profile end',
1. 文件日志
文件日志的默认保存位置为 /basic/runtime/logs
首先,查看web配置文件 /basic/config/web.php 中的组件配置,可看到日志组件的默认配置如下:
1 2 3 4 5 6 7 8 9
来自CODE的代码片snippet_file_0.php
其次,在控制器层添加一个控制器文件 LogController.php,进行测试,代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
来自CODE的代码片snippet_file_0.php
最后,在浏览器中访问 http://basic.com/log/test,就可以看到 /basic/runtime/logs 中的日志文件了。
2. 数据库日志
首先,需要按照 /basic/vendor/yiisoft/yii2/log/migrations/schema-mysql.sql 文件中给出的sql语句,在数据库中创建一个 log 数据表(如果需要表前缀,请自行加上)。
其次,修改web配置文件 /basic/config/web.php 中的组件配置中的log组件,将 'class' => 'yii\log\FileTarget' 改为 'class' => 'yii\log\DbTarget' 即可。
最后,在浏览器中访问 http://basic.com/log/test,就可以在 数据表 log 中看到对应的日志记录了。
3. 邮件日志
使用邮件日志介质,除了要修改log组件外,还必须配置mailer组件。配置方法可参考下面的部分代码。
4. Dispatcher调度器的使用
Dispatcher调度器,又称分配器,利用它的日志组件配置格式,可以将不同级别的日志分配给不同的日志介质来处理,也可以将同一级别的日志分配给多个日志介质处理。
Dispatcher调度器的类文件为/basic/vendor/yiisoft/yii2/log/Dispatcher.php
首先,修改web配置文件 /basic/config/web.php 中的组件配置中的log组件的配置,代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
来自CODE的代码片snippet_file_0.txt
其次,由于我们使用了邮件日志介质,故我们还必须修改组件配置中的mailer组件的配置,代码如下:
1 2 3 4 5 6 7 8 9 10 11 12
来自CODE的代码片snippet_file_0.php
最后,在浏览器中访问 http://basic.com/log/test ,测试对应的效果。
阅读全文
0 0
- 17. Yii 2.0 log组件
- 17. Yii 2.0 log组件
- yii 组件
- yii 组件
- Yii的log分析
- Yii的log分析
- Yii的log分析
- yii 2.0 admin和角色控制组件
- 【Yii框架】YII分页组件
- 05. Yii 2.0 的内部组件和自定义组件
- 05. Yii 2.0 的内部组件和自定义组件
- 日志功能--yii::trace()和yii::log()
- Yii核心应用组件
- Yii 之组件
- Yii核心应用组件
- yii user组件
- yii 分页组件
- YII 组件 CActiveForm
- 自定义计时器_笑死我了_哈哈哈哈哈嗝儿
- c#lambda
- OPENMP并行程序设计
- Android事件分发机制详解
- 数据结构—平衡二叉树
- 17. Yii 2.0 log组件
- Learning---文件I/O
- 学习Android Service
- 数据结构与算法(4)---Java语言实现:队列的单链表定义
- 微信小程序----组件之checkbox
- Java选择排序
- USB游戏耳机方案|游戏耳机方案|耳机解决方案|台湾鑫创
- 神经网络入门---中级应用篇
- 通过url传参,取值