最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Laravel框架使用monolog_mysql實現(xiàn)將系統(tǒng)日志信息保存到mysql數(shù)據(jù)庫的方法

 更新時間:2018年08月16日 11:59:00   作者:skyisbluening  
這篇文章主要介紹了Laravel框架使用monolog_mysql實現(xiàn)將系統(tǒng)日志信息保存到mysql數(shù)據(jù)庫的方法,簡單介紹了monolog_mysql的安裝、配置、數(shù)據(jù)庫遷移、日志生成、mysql寫入等相關(guān)操作技巧,需要的朋友可以參考下

本文實例講述了Laravel框架使用monolog_mysql實現(xiàn)將系統(tǒng)日志信息保存到mysql數(shù)據(jù)庫的方法。分享給大家供大家參考,具體如下:

Laravel中使用monolog_mysql將系統(tǒng)日志信息保存到mysql數(shù)據(jù)庫

源碼參考: https://github.com/markhilton/monolog-mysql

一、安裝Installation

在文件根目錄:

composer require markhilton/monolog-mysql

發(fā)現(xiàn)composer.json文件里的"require"多了一行:

"markhilton/monolog-mysql": "^0.1.6",

如果執(zhí)行報錯檢查php版本和laravel(5.5以上)版本,

或者可以自己手動粘貼"markhilton/monolog-mysql": "^0.1.6"composer.json上去,

然后執(zhí)行:

compser update

可以達到相同的效果

成功后發(fā)現(xiàn)vendor里面多了一個markhilton的文件夾

二、在config/app.php 的'providers'里面加入

復(fù)制代碼 代碼如下:
'providers' => array( // ... Logger\Laravel\Provider\MonologMysqlHandlerServiceProvider::class,);

三、生成數(shù)據(jù)庫文件

Publish config using Laravel Artisan CLI.
php artisan vendor:publish

執(zhí)行完上面語句發(fā)現(xiàn)database/migration里多了一個create_logs_table的文件

將文件重命名為 2018_03_14_034420_create_logs_table(一定要是這種格式的文件名才可以執(zhí)行數(shù)據(jù)庫遷移)

可以自定義數(shù)據(jù)庫表名稱,默認(rèn)為logs ,在這里我改成sys_log

然后執(zhí)行下面語句:

四、數(shù)據(jù)庫遷移Migrate tables.

php artisan migrate

生成了一個sys_log的表

五、應(yīng)用集成 Application Integration

在bootstrap/app.php里面加入

$app->configureMonologUsing(function($monolog) use($app) { $monolog->pushHandler(new Logger\Monolog\Handler\MysqlHandler());});

六、配置環(huán)境 Environment configuration

在.env的配置文件中加入(保存日志的數(shù)據(jù)庫連接類型,以及保存日志的表名稱)

DB_LOG_TABLE=sys_log //保存日志的數(shù)據(jù)庫表名稱
DB_LOG_CONNECTION=mysql //保存日志的數(shù)據(jù)庫連接類型

七、修改

真正實現(xiàn)將日志插入數(shù)據(jù)庫的核心文件位置在:
/vendor/markhilton/monolog-mysql/src/Logger/Monolog/Handler/MysqlHandler.php

將自定義的表名稱修改為sys_log

<?php
namespace Logger\Monolog\Handler;
use DB;
use Illuminate\Support\Facades\Auth;
use Monolog\Logger;
use Monolog\Handler\AbstractProcessingHandler;
class MysqlHandler extends AbstractProcessingHandler
{
protected $table;
protected $connection;
public function __construct($level = Logger::DEBUG, $bubble = true)
{
$this->table = env('DB_LOG_TABLE', 'sys_log');
$this->connection = env('DB_LOG_CONNECTION', env('DB_CONNECTION', 'mysql'));
parent::__construct($level, $bubble);
}
protected function write(array $record)
{
$data = [
'instance' => gethostname(),
'message' => $record['message'],
'channel' => $record['channel'],
'level' => $record['level'],
'level_name' => $record['level_name'],
'context' => json_encode($record['context']),
'remote_addr' => isset($_SERVER['REMOTE_ADDR']) ? ip2long($_SERVER['REMOTE_ADDR']) : null,
'user_agent' => isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : null,
'created_by' => Auth::id() > 0 ? Auth::id() : null,
'created_at' => $record['datetime']->format('Y-m-d H:i:s')
];
DB::connection($this->connection)->table($this->table)->insert($data);
}
}

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

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

相關(guān)文章

  • Laravel框架之blade模板新手入門教程及小技巧

    Laravel框架之blade模板新手入門教程及小技巧

    Blade 是 laravel 提供的一個簡單強大的模板引擎。下面這篇文章主要給大家介紹了關(guān)于Laravel框架之blade模板新手的入門教程以及一些使用的小技巧,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下。
    2017-12-12
  • 詳解PHP對象的串行化與反串行化

    詳解PHP對象的串行化與反串行化

    我們大家有知道PHP串行化可以把變量包括對象,轉(zhuǎn)化成連續(xù)bytes數(shù)據(jù),你可以將串行化后的變量存在一個文件里或在網(wǎng)絡(luò)上傳輸,然后再反串行化還原為原來的數(shù)據(jù)。文章給大家介紹PHP對象的串行化與反串行化,感興趣的朋友一起學(xué)習(xí)吧
    2016-01-01
  • PHP讀取漢字的點陣數(shù)據(jù)

    PHP讀取漢字的點陣數(shù)據(jù)

    本文給大家詳細(xì)講述了使用PHP讀取漢字的點陣數(shù)據(jù)的方法和示例,十分的實用,有需要的小伙伴可以參考下。
    2015-06-06
  • 一個基于phpQuery的php通用采集類分享

    一個基于phpQuery的php通用采集類分享

    這是自己以前寫的一個php的采集類,自己一直在用,自我感覺很簡單很強大,只要懂一點點選擇器的知識就可以采集任何頁面了,也支持https頁面,做簡單的采集足夠用了
    2014-04-04
  • Laravel的throttle中間件失效問題解決方法

    Laravel的throttle中間件失效問題解決方法

    這篇文章主要介紹了Laravel的throttle中間件失效問題解決方法,簡單分析了throttle中間件失效問題的原因并提出了解決方案,具有一定參考借鑒價值,需要的朋友可以參考下
    2016-10-10
  • php去除HTML標(biāo)簽實例

    php去除HTML標(biāo)簽實例

    在php中要去除字符串中的HTML標(biāo)簽方法有很多種,最常用的就是使用strip_tags函數(shù)一并去了,只保留字符了,還在就是有選擇性的去除了這里要用正則表達式了,下面寫二個php去除HTML標(biāo)簽的小例子
    2013-11-11
  • Yii2隱藏frontend/web和backend/web的方法

    Yii2隱藏frontend/web和backend/web的方法

    這篇文章主要介紹了Yii2隱藏frontend/web和backend/web的方法,需要的朋友可以參考下
    2015-12-12
  • php實現(xiàn)斷點續(xù)傳大文件示例代碼

    php實現(xiàn)斷點續(xù)傳大文件示例代碼

    這篇文章主要介紹了如何用php實現(xiàn)斷點續(xù)傳大文件,文中代碼非常細(xì)致,幫助大家學(xué)習(xí)和參考,感興趣的朋友可以了解下
    2020-06-06
  • laravel修改用戶模塊的密碼驗證實現(xiàn)

    laravel修改用戶模塊的密碼驗證實現(xiàn)

    本文主要介紹了laravel修改用戶模塊的密碼驗證實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • 淺談PHP中關(guān)于foreach使用引用變量的坑

    淺談PHP中關(guān)于foreach使用引用變量的坑

    下面小編就為大家?guī)硪黄狿HP不使用遞歸的無限級分類的實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-11-11

最新評論

寿宁县| 开远市| 澄迈县| 邢台县| 军事| 泸定县| 平谷区| 泌阳县| 溆浦县| 安庆市| 鸡泽县| 岳西县| 九龙坡区| 饶阳县| 庆城县| 嘉祥县| 运城市| 金阳县| 柞水县| 定州市| 宿迁市| 且末县| 开阳县| 堆龙德庆县| 舟曲县| 湖北省| 周至县| 澄江县| 沧州市| 军事| 金坛市| 渝中区| 昆山市| 左权县| 涞水县| 新平| 绍兴县| 江口县| 阜新| 神池县| 天水市|