婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > YII2框架中日志的配置與使用方法實(shí)例分析

YII2框架中日志的配置與使用方法實(shí)例分析

熱門標(biāo)簽:正規(guī)電銷機(jī)器人系統(tǒng) 重慶外呼電銷系統(tǒng)多少錢 邢臺400電話辦理 南寧電話外呼系統(tǒng)線路 辦理400電話哪家好點(diǎn) 嘟嘟云外呼系統(tǒng) 濟(jì)源百應(yīng)電銷機(jī)器人聯(lián)系方式 南京3D地圖標(biāo)注 咸陽電銷

本文實(shí)例講述了YII2框架中日志的配置與使用方法。分享給大家供大家參考,具體如下:

YII2中給我們提供了非常方便的日志組件,只需要簡單配置一下就可以使用。

我們在config/web.php中配置如下:

return [
	//log必須在bootstrap期間就被加載,便于及時(shí)調(diào)度日志消息到目標(biāo)
	'bootstrap' => ['log'],

	'components' => [
		'log' => [
			//消息跟蹤級別,設(shè)置yii\log\Dispatcher::traceLevel屬性
			//YII_DEBUG開啟時(shí),日志消息被記錄時(shí),追加最多3個(gè)調(diào)用堆棧信息
			'traceLevel' => YII_DEBUG ? 3 : 0,
			//日志目標(biāo),可定義多個(gè)
			'targets' => [
				[
					//日志處理器類
					'class' => 'yii\log\FileTarget',
					//日志記錄的級別
					'levels' => ['error', 'warning'],
					//定義日志文件
					'logFile' => '@runtime/logs/test.log',
				],
			],
		],
	],
];

通過下面5個(gè)方法,來寫入我們自已的日志

//跟蹤
Yii::trace('我是一條跟蹤');
//消息
YII::info('我是一條消息');
//調(diào)試
YII::debug('我是一條調(diào)試');
//警告
YII::warning('我是一條警告');
//錯(cuò)誤
YII::error('我是一條錯(cuò)誤');

注意我們上面定義日志的levels為['error', 'warning'],所以日志只會記錄這兩個(gè)級別的信息。

有些時(shí)候我們并不希望把所有日志寫在一起,我們會根據(jù)不同模塊來寫日志,這樣以便區(qū)分,這就需要用到日志的分類了。

重新配置config/web.php如下:

'log' => [
	'traceLevel' => YII_DEBUG ? 3 : 0,
	'targets' => [
		[
			//日志處理器類,這里我改用數(shù)據(jù)庫存日志了
			'class' => 'yii\log\DbTarget',
			//日志記錄的級別
			'levels' => ['error', 'warning'],
			//追加上下文信息,默認(rèn)YII會包含PHP全局變量,這里我們不需要,設(shè)為空。
			'logVars' => [],
			//定義分類
			'categories' => ['db'],
		],
		[
			//日志處理器類,這里我改用數(shù)據(jù)庫存日志了
			'class' => 'yii\log\DbTarget',
			//日志記錄的級別
			'levels' => ['error', 'warning'],
			//追加上下文信息,默認(rèn)YII會包含PHP全局變量,這里我們不需要,設(shè)為空。
			'logVars' => [],
			//定義分類
			'categories' => ['pay'],
		],
	],
],

通過如下方法,添加我們的日志

//警告
YII::warning('我是一條數(shù)據(jù)庫警告', 'db');
//錯(cuò)誤
YII::error('我是一條數(shù)據(jù)庫錯(cuò)誤', 'db');

//警告
YII::warning('我是一條支付警告', 'pay');
//錯(cuò)誤
YII::error('我是一條支付錯(cuò)誤', 'pay');

由于上面的配置我們使用了DbTarget,我們還需要添加一張日志表,用于記錄我們的日志,進(jìn)入項(xiàng)目目錄。運(yùn)行如下命令:

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

當(dāng)然categories我們也可以指定為YII的類

'log' => [
	'traceLevel' => YII_DEBUG ? 3 : 0,
	'targets' => [
		[
			'class' => 'yii\log\FileTarget',
			'levels' => ['error', 'warning'],
		],
		[
			//日志處理器類,這里我改用數(shù)據(jù)庫存日志了
			'class' => 'yii\log\DbTarget',
			//日志記錄的級別,這里演示設(shè)為info
			'levels' => ['info'],
			//定義分類
			'categories' => ['yii\db\*'],
		],
	],
],

然后我們操作一下數(shù)據(jù)庫,看是否日志記錄了。

?php

namespace app\controllers;

use YII;
use yii\db\Query;
use yii\web\Controller;

class TestController extends Controller
{
  public function actionTest()
  {
    $data = (new Query())->from('{{%user}}')
      ->where('id=:id', [':id' => '1'])
      ->all();

    var_dump($data);
  }
}

日志消息的格式化,我們可以自定義日志的前綴。

'log' => [
	'traceLevel' => YII_DEBUG ? 3 : 0,
	'targets' => [
		[
			'class' => 'yii\log\FileTarget',
			'levels' => ['error', 'warning'],
		],
		[
			//日志處理器類,這里我改用數(shù)據(jù)庫存日志了
			'class' => 'yii\log\DbTarget',
			'levels' => ['error', 'warning'],
			//定義分類
			'categories' => ['db'],
			//定義前綴
			'prefix' => function($message) {
				$uid = !empty(YII::$app->user->id) ? YII::$app->user->id : '-';
				$mid = !empty(YII::$app->module->id) ? YII::$app->module->id : '-';
				$cid = !empty(YII::$app->controller->id) ? YII::$app->controller->id : '-';
				$aid = !empty(YII::$app->controller->action->id) ? YII::$app->controller->action->id : '-';
				return "[{$uid}][{$mid}/{$cid}/{$aid}]";
			},
		],
	],
],

使用如下代碼,記錄日志,查看效果

YII::warning('我是警告!!!', 'db');
YII::error('我是錯(cuò)誤!!!', 'db');

由于沒有登陸和分模塊,所以沒獲取到用戶ID和模塊ID,不過控制器ID和方法ID都獲取到了。

消息的刷新和導(dǎo)出

'log' => [
	'traceLevel' => YII_DEBUG ? 3 : 0,
	//消息被存放在一個(gè)數(shù)組里,積累到一定數(shù)量,才會被刷新到日志target
	//通過flushInterval設(shè)置消息刷新到日志target的數(shù)量
	'flushInterval' => 100,
	'targets' => [
		[
			'class' => 'yii\log\FileTarget',
			'levels' => ['error', 'warning'],
		],
		[
			//日志處理器類,這里我改用數(shù)據(jù)庫存日志了
			'class' => 'yii\log\DbTarget',
			//當(dāng)消息刷新到日志對象時(shí),并不會立即導(dǎo)出,只有累積到一定數(shù)量才會導(dǎo)出
			//通過exportInterval來設(shè)置這個(gè)導(dǎo)出數(shù)量
			'exportInterval' => 100,
			'levels' => ['error', 'warning'],
			//定義分類
			'categories' => ['db'],
		],
	],
],

有人會問YII2設(shè)置flushInterval和exportInterval的作用是什么,因?yàn)樵谝恍┫到y(tǒng)中日志的操作會很頻繁,如果頻繁的讀取文件或數(shù)據(jù)庫來寫日志,會造成嚴(yán)重的IO消耗,降低系統(tǒng)性能,這也是YII2的一個(gè)優(yōu)化吧。

當(dāng)然有些時(shí)候一些長時(shí)間在控制臺運(yùn)行的程序,需要立即顯示日志,那么可以通過如下配置:

'log' => [
	'traceLevel' => YII_DEBUG ? 3 : 0,
	'flushInterval' => 1,
	'targets' => [
		[
			'class' => 'yii\log\FileTarget',
			'levels' => ['error', 'warning'],
		],
		[
			'class' => 'yii\log\FileTarget',
			'exportInterval' => 1,
			'levels' => ['error', 'warning'],
			//定義分類
			'categories' => ['db'],
		],
	],
],

將flushInterval和exportInterval分別設(shè)為1。

有些時(shí)候我們需要人為的開啟和關(guān)閉某些日志目標(biāo),這時(shí)就需要我們?yōu)槊總€(gè)日志目標(biāo)設(shè)個(gè)鍵,以區(qū)分。

'log' => [
	'traceLevel' => YII_DEBUG ? 3 : 0,
	'targets' => [
		'pay' => [
			'class' => 'yii\log\DbTarget',
			'levels' => ['error', 'warning'],
			'categories' => ['pay'],
		],
		'db' => [
			'class' => 'yii\log\DbTarget',
			'levels' => ['error', 'warning'],
			'categories' => ['db'],
		],
	],
],

然后通過如下,進(jìn)行開啟和關(guān)閉:

//關(guān)閉
Yii::$app->log->targets['db']->enabled = false;
//開啟
Yii::$app->log->targets['db']->enabled = true;

更多關(guān)于Yii相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Yii框架入門及常用技巧總結(jié)》、《php優(yōu)秀開發(fā)框架總結(jié)》、《smarty模板入門基礎(chǔ)教程》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》

希望本文所述對大家基于Yii框架的PHP程序設(shè)計(jì)有所幫助。

您可能感興趣的文章:
  • yii2.0框架實(shí)現(xiàn)上傳excel文件后導(dǎo)入到數(shù)據(jù)庫的方法示例
  • YII2框架中查詢生成器Query()的使用方法示例
  • YII2框架中使用RBAC對模塊,控制器,方法的權(quán)限控制及規(guī)則的使用示例
  • YII2框架中behavior行為的理解與使用方法示例
  • YII2 全局異常處理深入講解

標(biāo)簽:通遼 南通 平頂山 唐山 河南 隴南 武漢 黃山

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《YII2框架中日志的配置與使用方法實(shí)例分析》,本文關(guān)鍵詞  YII2,框架,中,日志,的,配置,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《YII2框架中日志的配置與使用方法實(shí)例分析》相關(guān)的同類信息!
  • 本頁收集關(guān)于YII2框架中日志的配置與使用方法實(shí)例分析的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    欧美亚洲综合一区| 欧美群妇大交群中文字幕| 免费精品视频在线| 亚洲国产一区二区a毛片| 免费久久精品视频| 亚洲乱码国产乱码精品精的特点| 亚洲成在线观看| 日韩av一级片| 欧美蜜桃一区二区三区| 国产亚洲精品aa| 一区二区三区在线观看动漫| 亚洲欧洲国产日韩| 国产精品久久久久久久午夜片 | 亚洲人成7777| 国产精品一线二线三线精华| 99re视频这里只有精品| 久久久久久**毛片大全| 日韩av电影免费观看高清完整版在线观看| 成人黄色在线看| 成人欧美一区二区三区| 成人小视频免费观看| 岛国精品一区二区| 在线观看日韩av先锋影音电影院| 国产午夜亚洲精品羞羞网站| 麻豆精品久久久| 久久蜜桃av一区二区天堂| 久草这里只有精品视频| 中文字幕人成不卡一区| 91视频一区二区三区| 美女脱光内衣内裤视频久久网站 | 一区二区三区久久久| 色综合久久综合| 精品一区二区三区视频在线观看| 国产三级一区二区| 久久久www成人免费毛片麻豆 | 欧美日本国产一区| 久久超级碰视频| 亚洲最新视频在线播放| 狠狠色丁香婷婷综合久久片| 国产福利一区二区三区视频 | 99久久婷婷国产综合精品电影 | 国产欧美精品在线观看| 成人一区在线观看| 日本一不卡视频| 亚洲男女一区二区三区| 日韩一区和二区| 久久精品国内一区二区三区| 亚洲在线观看免费视频| 不卡区在线中文字幕| 色婷婷精品大视频在线蜜桃视频| 日韩欧美国产综合| 日韩欧美一二三区| 欧美电影免费提供在线观看| 欧美午夜电影网| 色狠狠色狠狠综合| 欧美亚洲国产一区二区三区va| 国产麻豆9l精品三级站| 国产黄色精品视频| 成人高清视频在线| 欧美性淫爽ww久久久久无| 在线播放欧美女士性生活| 中文字幕av资源一区| 亚洲综合自拍偷拍| 日韩欧美自拍偷拍| 日韩一区二区在线看| 91.com视频| 1000精品久久久久久久久| 亚洲亚洲精品在线观看| 理论电影国产精品| 色综合色综合色综合色综合色综合 | 日韩欧美一卡二卡| 国产日韩欧美麻豆| 中文字幕一区二区三区不卡在线 | 亚洲欧美自拍偷拍| 一区二区三区四区亚洲| 美女脱光内衣内裤视频久久网站| 成人性生交大片免费看在线播放| 色狠狠综合天天综合综合| 欧美在线三级电影| 久久先锋影音av鲁色资源| 国产精品乱子久久久久| 亚洲第一福利一区| 国产成人无遮挡在线视频| 粉嫩av一区二区三区| 91黄色免费版| 亚洲品质自拍视频| 久久精品国产77777蜜臀| 成人动漫在线一区| 26uuu精品一区二区| 紧缚奴在线一区二区三区| 奇米777欧美一区二区| 国产在线精品一区二区三区不卡| 在线看日本不卡| 99在线热播精品免费| 日韩1区2区日韩1区2区| 亚洲精品在线免费播放| 成人精品电影在线观看| 国产亚洲一区字幕| 国产乱码精品一区二区三| 天天综合色天天综合| 精品入口麻豆88视频| 精品视频在线视频| 色老综合老女人久久久| 成人黄色软件下载| 中文字幕亚洲一区二区av在线| 久久免费偷拍视频| 久久久久久久久久久久电影| 国产激情精品久久久第一区二区 | 一本色道久久综合精品竹菊| 欧美日韩一卡二卡三卡| 偷窥少妇高潮呻吟av久久免费| 欧美日韩一级黄| 91精品黄色片免费大全| 男人的j进女人的j一区| 色婷婷久久久亚洲一区二区三区| 国产欧美日韩久久| 欧美亚洲一区三区| 激情综合亚洲精品| 国产精品久久网站| 日韩欧美你懂的| 国产成人在线视频网址| 国内精品伊人久久久久av一坑| 不卡av免费在线观看| 欧美猛男超大videosgay| 国产精品538一区二区在线| 美腿丝袜一区二区三区| 亚洲一卡二卡三卡四卡| 成人国产精品视频| 精品一区精品二区高清| 一区二区三区在线看| 亚洲色图.com| 国产精品麻豆网站| 精品视频1区2区| 久久久精品国产免费观看同学| 亚洲欧美色一区| 中文字幕制服丝袜成人av| 欧美喷潮久久久xxxxx| 欧美久久久久中文字幕| 欧美性感一区二区三区| 成人的网站免费观看| 国产精品影视天天线| 91影视在线播放| 欧洲精品在线观看| 欧美tickling挠脚心丨vk| 日韩美女天天操| 亚洲成人精品一区| 美女一区二区久久| www..com久久爱| 欧美一二三四区在线| 欧美精品 日韩| 亚洲色大成网站www久久九九| 亚洲愉拍自拍另类高清精品| 亚洲mv在线观看| 国产91丝袜在线观看| 欧美日精品一区视频| 亚洲欧洲三级电影| 国产精品一区二区在线观看网站| 国产欧美一区二区精品性| 免费日本视频一区| 91污片在线观看| 亚洲婷婷综合色高清在线| 国产成人av电影在线播放| 欧美三级日韩在线| 一区在线播放视频| 韩国成人福利片在线播放| 91免费精品国自产拍在线不卡| 国产毛片精品国产一区二区三区| 97精品电影院| 久久亚洲精精品中文字幕早川悠里| 日本一区免费视频| 99久久久精品免费观看国产蜜| 国产三级三级三级精品8ⅰ区| 亚洲国产精品久久久久婷婷884| 激情六月婷婷综合| 色综合久久久久| 亚洲欧美另类久久久精品2019| 成人av网站在线| 国产精品美女久久久久久久久久久 | 欧美成人一区二区三区在线观看| 日本一区二区动态图| 国内精品视频一区二区三区八戒 | 中文字幕字幕中文在线中不卡视频| 麻豆一区二区三| 久久久久亚洲蜜桃| 国产成人午夜精品5599| 国产精品毛片久久久久久| 国产亚洲欧美日韩俺去了| 美女网站色91| 蓝色福利精品导航| 久久免费午夜影院| 国产精品白丝jk黑袜喷水| 欧美精品一区二区三区高清aⅴ| 欧美在线观看你懂的| 粉嫩欧美一区二区三区高清影视| 国产欧美精品一区| 91精品国产综合久久香蕉麻豆 | 婷婷综合另类小说色区| 亚洲欧洲av一区二区三区久久| 九一久久久久久| 亚洲欧美乱综合|