YII2 日志】的更多相关文章

最近开发一个新的PHP项目,终于脱离了某框架的魔爪(之前被折磨的不轻),选用了江湖中如雷贯耳的Yii2框架.每个项目代码的运行,日志是必不可少的,在开发中踩了一遍Yii2日志管理的坑,看过很多网上对Yii2日志的配置介绍,今天总结一下Yii2对日志的处理分享给大家. 1.首先看一下log配置: return [ 'traceLevel' => YII_DEBUG ? 3 : 0, 'targets' => [ //可以配置多个log [ 'class' => 'yii\log\FileT…
今天试着把yii2 的日志,如果发送邮件的形式实现,具体实现如下 1.环境介绍 lnmp php5.6, mysql5.5, lnmp1.2 yii2-advanced 2.配置文件的编写 在frontend/config/main.php 添加mailer 和 log 的配置 'mailer' => require_once '../config/mail.php', 'log' => require_once '../config/log.php', mailer的配置如下(fronten…
YII 提供的日志写入方法: Yii::getLogger()->log($message, $level, $category = 'application') Yii::trace($message, $category = 'application'); Yii::error($message, $category = 'application'); Yii::warning($message, $category = 'application'); Yii::info($message,…
原文地址: http://blog.csdn.net/gao_yu_long/article/details/51732181…
Yii 提供了一个灵活可扩展的日志功能.记录的日志 可以通过日志级别和信息分类进行归类.通过使用 级别和分类过滤器,所选的信息还可以进一步路由到 不同的目的地,例如一个文件,Email,浏览器窗口等. 信息可以通过 Yii::log 或 Yii::trace 记录.其 区别是后者只在当应用程序运行在 调试模式(debug mode) 中时才会记录信息. Yii::log($message, $level, $category); Yii::trace($message, $category);…
把公司一个项目pull到本地 发现验证码不输出了 怀疑是gd库没装  php -m看了下 gd库是装了的 有搜索到可能是因为自带的php拓展生成不了png(觉得不太可能) 试了下自己写一个图片生成png  也没问题--- 查看yii2日志 Either GD PHP extension with FreeType support or ImageMagick PHP extension with PNG support is required 应该是macos自带的php-gd拓展不支持Free…
Yii2自带日志记录,但用起来感觉比较不是很顺手,故自己封装了个方法,如下: /** * 记录日志 * * @param type $msg * @time 2015年8月31日17:46:20 * @author rentingshuang <tingshuang@rrkd.cn> */ public static function log($msg = '', $fileName = '', $dir = '') { $directory = date ( 'Y-m-d' ); $file…
在技术开发中,捕获程序框架错误,是非常必要的一件事情,我们公司使用Yii2框架,简单说下Yii2的错误捕获处理 Yii2 web应用 1 配置如下 其中errorHandler就是错误处理配置,执行ErrorController的actionError 'components' => [     "urlManager" => require (__DIR__ . '/router.php'),     'errorHandler' => [         'err…
在使用Yii2框架的时候,常常会出现没有sql日志记录的问题.在代码里一句一句的打印sql语句也不现实.所以就要用文件记录起来. 在 config/web.php 里面的 log配置中增加如下配置 [ 'class' => 'yii\log\FileTarget', 'levels' => ['error', 'warning','info'], 'logVars'=>[], //表示以yii\db\或者app\models\开头的分类都会写入这个文件 'categories'=>…
YII2中给我们提供了非常方便的日志组件,只需要简单配置一下就可以使用. 我们在config/web.php中配置如下: return [ //log必须在bootstrap期间就被加载,便于及时调度日志消息到目标 'bootstrap' => ['log'], 'components' => [ 'log' => [ //消息跟踪级别,设置yii\log\Dispatcher::traceLevel属性 //YII_DEBUG开启时,日志消息被记录时,追加最多3个调用堆栈信息 'tra…
log 通过配置Web.config来完成 1 数据库增加 ‘前缀_log’表 2 配置Web.config 'bootstrap' => ['log'], 'components' =>[ 'log' => [ 'traceLevel' => YII_DEBUG ? 3 : 0, //级别 'targets' => [ 'file' => [ //使用文件存储日志 'class' => 'yii\log\FileTarget', 'levels' => […
隐藏index.php文件 目的:想去掉浏览器地址栏中的 index.php?r= 这一块. 在/config/web.php中   ’components'=>[]   中添加如下代码: 'urlManager' => [ 'enablePrettyUrl' => true,//路由的路径化 'enableStrictParsing' => false,//禁止严格url解析 'showScriptName' => false,//允许去掉index.php 'rules'…
YII 提供的日志写入方法: 1.Yii::getLogger()->log($message, $level, $category = 'application') 2.Yii::trace($message, $category = 'application'); 3.Yii::error($message, $category = 'application');4.Yii::warning($message, $category = 'application');5.Yii::info($…
$log = new \yii\log\FileTarget(); $content=var_export($menu,"true");//将数组或对象转换字符串格式   $content 数组变量$log->logFile = dirname(dirname(__DIR__)) . "/" . date('y-m-d') . ".log"; //日志保存路径 $log->messages[] = ['' . "\r\n&q…
方法一 批量文件配置写入日志: 1. 首先在config.php配置文件中配置log模块 如下: 'log' => [ 'traceLevel' => YII_DEBUG ? 3 : 0, 'targets' => [ [ 'class' => 'yii\log\FileTarget', //文件方式存储日志操作对应操作对象 'levels' => ['info'], 'categories' => ['ChinaHanGreat'], 'logFile' =>…
如果我们在项目中不允许修改配置文件中的 log 组件,那么动态配置 log 就变得很重要了,下面我分享一下动态配置 log 的方法: 默认的日志格式是 {date}{ip}{userID}{sessionID}{level}{category}{text}{trace} 这种方式不会让默认的 app.log 失效.(推荐) public function init() { parent::init(); \Yii::$app->log->targets[] = \Yii::createObje…
背景: 现在写接口服务应用有一个很通用的需求,想通过日志.或者监控的形式监测的接口的运行情况,比如耗时.请求参数.响应结果.和前端联调接口时或者排查线上问题时日志必不可少,特别是现场日志. 应用运行时抛出异常时如何处理记录对应的日志. 统一处理及在一个地方一起处理异常及日志 以前开发喜欢在控制器方法内捕获异常及记录相关的异常日志…
<?php /** * author : forecho <caizhenghai@gmail.com> * createTime : 2015/12/22 18:13 * description: */ namespace common\components; use Yii; use yii\helpers\FileHelper; class FileTarget extends \yii\log\FileTarget { /** * @var bool 是否启用日志前缀 (@app…
头部引入log类use yii\log\FileTarget; $time = microtime(true);$log = new FileTarget();$log->logFile = Yii::$app->getRuntimePath() . '/logs/zhidemy.com.log'; //文件名自定义$log->messages[] = ['test',1,'application',$time];$log->export(); 这样基本就能写出来了,先看一下$lo…
周六闲来无事,就试着安装和部署下yii2,安装过程没什么问题,但部署到nginx上时遇到了502 bad gatewary问题,折腾了半天才搞定.这个问题是我以前在部署yii2时没有遇到过的,因此记在这里以备忘. 1,安装和部署环境 操作系统:macOS,php版本:5.6,nginx版本:1.10.1,yii2版本:2.0. 2,yii2的安装 yii2的安装很简单,参考官网的手册即可.我这里安装的是yii2-app-advanced(Yii 2 Advanced Project Templa…
PHP最佳实践 1 PHP获取时间戳:echo  time(); 时间戳转换 date('Y-m-d H:i:s', $时间戳); 2 linux 显示命令 ls 显示所有文件夹 查看命令:tail -200 runtime/logs/app.log 退出vim   :qz  :xa 3 数据库日志: tail -f /database/mysql/query.log composer安装 compose官网 https://getcomposer.org/download/ 在PHP环境下执行…
参考地址:http://www.cnblogs.com/sandea/p/5714830.html 1.不通过日志获取AR执行的原生SQL语句和打印变量数据 $query = User::find() ->select(['username'])->where(['id'=>[1,2,3,4]) // get the AR raw sql in YII2 $commandQuery = clone $query; echo $commandQuery->createCommand(…
1.不通过日志获取AR执行的原生SQL语句和打印变量数据 $query = User::find() ->select(['username'])->where(['id'=>[1,2,3,4]) // get the AR raw sql in YII2 $commandQuery = clone $query; echo $commandQuery->createCommand()->getRawSql();$users = $query->all(); 打印变量数…
最近在做项目的过程中,发现很多JS报错没有引起重视,我就想想把JS错误捕获了,然后展示在我们一个平台上 具体实现代码: window.onerror = function(message, url, lineNumber,columnNo,error) {     var data = {         'message':message,         'url':url,         'error':error.stack     };     $.ajax({         ur…
Application是所有应用程序类的基类,接下来了解一下它的源码.yii2\base\Application.php. <?php /** * @link http://www.yiiframework.com/ * @copyright Copyright (c) 2008 Yii Software LLC * @license http://www.yiiframework.com/license/ */ namespace yii\base; use Yii; /** * Applic…
1.一键安装LNMP cd /usr wget -c http://soft.vpser.net/lnmp/lnmp1.2-full.tar.gz tar zxf lnmp1.-full.tar.gz cd lnmp1.-full ./install.sh lnmp 进入安装状态后按照提示做安装选择( 参考 http://lnmp.org/install.html ) 2.安装Yii2.0  a 先安装好composer //进入/usr目录 curl -sS https://getcompos…
一.seaslog 简单介绍及使用原因 它是C 写的PHP扩展,性能很高,使用简单,能满足大部分简单的日志需求.(个人感觉) 其他优势请看-->https://github.com/Neeke/SeasLog, http://www.oschina.net/p/seaslog, 缺点:(使用时碰到的坑) 1.如果配置有差错会直接报错,程序不健壮会导致页面直接挂掉,而且由于C写的这种意外报错你很难处理.(建议基本路径和模块路径一定要写对:环境变更时 也要时刻注意) 2. cli模式和CGL 模式下…
上节聊完了PHP官方的相关代码规范,下面给大家带来了PHP系列的PHP推荐标准的另外两个,PSR-3,PSR-4. 首先,我们先来了解下PSR-3是怎么回事. PHP-FIG发布的第三个推荐规范与前两个不同,不是一系列的指导方针,而是一个接口,规定PHP日志记录器组件可以实现的方法. 基础 The LoggerInterface exposes eight methods to write logs to the eight RFC 5424levels (debug, info, notice…
缘起 因为一个月的短暂停留,我在给朋友搞事情,所以Yii系列的文章耽搁了很长时间,现在又重拾当时的知识,给大伙好好撸下这一系列的博客 提起Yii,虽然是国外的开发者搞的,但是它的作者是华人,这才是让我们引以为豪的,如果以后有机会薛强回国大力发展PHP事业,我肯定回去他麾下搞事情,为PHP在国内的发展贡献自己的一份力,虽然现在没有这个能力,这不薛强没回来嘛,回来的话那时的我肯定可以的~哈哈哈~ 领英上强哥的背景如下: 职务:MicroStrategy 公司担任构架师 地址:美国首都华盛顿 Metr…
写代码需要站在巨人的肩膀上,将主要精力集中在自己所需要实现的业务上面,避免反复搭建基础服务,重复造轮子.PHP框架就是这样一些巨人的"肩膀",使得我们"站"得更高,"看"得更远.像PHP本身有着不断迭代和升级的历史一样,PHP框架也有着自己的发展历史,从简单到复杂,从低级到高级,从面向过程到面向对象. 目前,比较流行的是以Laravel5.2+,Yii2,ZendFramework2.0,Symfony2等为代表的新一代框架.这一些框架,普遍和自…