Yii2实现log输出到file及database的方法


Posted in PHP onNovember 12, 2016

本文实例讲述了Yii2实现log输出到file及database的方法。分享给大家供大家参考,具体如下:

编辑config/web.php

首先log要开启

'bootstrap' => [
  'log'
],

[file]

'components' => [
  'log' => [
    'targets' => [
      [
        'class' => 'yii\log\FileTarget',
        'exportInterval' => 1,
      ],
    ],
  ],
]

默认输出到runtime/logs/app.log

注意webserver或控制台用户要有写入该文件的权限

[database]

'log' => [
  'targets' => [
    [
      'class' => 'yii\log\DbTarget',
      'levels' => ['error', 'warning', 'trace'],
    ]
  ]
],

默认输出db组件对应的数据库下{{%log}}表

yii2根目录下运行下面命令生成对应的table schema

./yii migrate --migrationPath=@yii/log/migrations/

注意config/console.php下也要有和web.php同样的配置,否则命令执行不成功。

还可以根据不同的环境配置不同的日志模式

'components' => [
  'log' => [
    'traceLevel' => YII_ENV == 'dev' ? 3 : 0,
    'targets' => [
      [
        'class' => 'yii\log\DbTarget',
        'levels' => YII_DEBUG ? ['error', 'warning', 'trace'] : ['error'],
      ],
      [
        'class' => 'yii\log\FileTarget',
        'levels' => YII_DEBUG ? ['error', 'warning', 'trace'] : ['error', 'warning'],
      ],
    ],
  ],
],

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

PHP 相关文章推荐
一个ftp类(ini.php)
Oct 09 PHP
PHP和Mysqlweb应用开发核心技术-第1部分 Php基础-2 php语言介绍
Jul 03 PHP
解析PHP多种序列化与反序列化的方法
Jun 06 PHP
ThinkPHP控制器里javascript代码不能执行的解决方法
Nov 22 PHP
php中smarty实现多模版网站的方法
Jun 11 PHP
php析构函数的简单使用说明
Aug 24 PHP
PHP执行SQL文件并将SQL文件导入到数据库
Sep 17 PHP
PHP Yaf框架的简单安装使用教程(推荐)
Jun 08 PHP
php 自定义错误日志实例详解
Nov 12 PHP
PHP以json或xml格式返回请求数据的方法
May 31 PHP
PHP的PDO事务与自动提交
Jan 24 PHP
php实现映射操作实例详解
Oct 02 PHP
php 自定义错误日志实例详解
Nov 12 #PHP
ThinkPHP5实现作业管理系统中处理学生未交作业与已交作业信息的方法
Nov 12 #PHP
php array_values 返回数组的所有值详解及实例
Nov 12 #PHP
php array_udiff_assoc 计算两个数组的差集实例
Nov 12 #PHP
PHP上传图片、删除图片简单实例
Nov 12 #PHP
PHP防止图片盗用(盗链)的方法小结
Nov 11 #PHP
PHP数据的提交与过滤基本操作实例详解
Nov 11 #PHP
You might like
php简单的会话类代码
2011/08/08 PHP
浅析php变量修饰符static的使用
2013/06/28 PHP
Codeigniter实现多文件上传并创建多个缩略图
2014/06/12 PHP
PHP通过内置函数memory_get_usage()获取内存使用情况
2014/11/20 PHP
分享PHP守护进程类
2015/12/30 PHP
PHP获取真实客户端的真实IP
2017/03/07 PHP
Thinkphp 空操作、空控制器、命名空间(详解)
2017/05/05 PHP
laravel实现分页样式替换示例代码(增加首、尾页)
2017/09/22 PHP
Swoole 5将移除自动添加Event::wait()特性详解
2019/07/10 PHP
jQuery 打造动态下滑菜单实现说明
2010/04/15 Javascript
IE6下CSS图片缓存问题解决方法
2010/12/09 Javascript
js常用代码段整理
2011/11/30 Javascript
jquery 操作DOM的基本用法分享
2012/04/05 Javascript
javascript中typeof的使用示例
2013/12/19 Javascript
javascript 数组的定义和数组的长度
2016/06/07 Javascript
jQuery实现定位滚动条位置
2016/08/05 Javascript
sea.js常用的api简易文档
2016/11/15 Javascript
vue2 如何实现div contenteditable=“true”(类似于v-model)的效果
2017/02/08 Javascript
Angular.js实现获取验证码倒计时60秒按钮的简单方法
2017/10/18 Javascript
使用pm2自动化部署node项目的方法步骤
2019/01/28 Javascript
使用kbone解决Vue项目同时支持小程序问题
2019/11/08 Javascript
详解Vue之计算属性
2020/06/20 Javascript
JavaScript仿京东轮播图效果
2021/02/25 Javascript
python学习笔记:字典的使用示例详解
2014/06/13 Python
Python中使用摄像头实现简单的延时摄影技术
2015/03/27 Python
Python中用Decorator来简化元编程的教程
2015/04/13 Python
Python 读取指定文件夹下的所有图像方法
2018/04/27 Python
django中模板的html自动转意方法
2018/05/27 Python
pandas的唯一值、值计数以及成员资格的示例
2018/07/25 Python
详解Flask前后端分离项目案例
2020/07/24 Python
软件测试企业面试试卷
2016/07/13 面试题
EJB面试题
2015/07/28 面试题
护校行动方案
2014/05/31 职场文书
预备党员学习十八届三中全会精神思想汇报
2014/09/13 职场文书
民主评议党员个人总结
2015/02/13 职场文书
PostGIS的安装与入门使用指南
2022/01/18 PostgreSQL