Laravel框架使用monolog_mysql实现将系统日志信息保存到mysql数据库的方法
Laravel  /  管理员 发布于 5年前   315
本文实例讲述了Laravel框架使用monolog_mysql实现将系统日志信息保存到mysql数据库的方法。分享给大家供大家参考,具体如下: Laravel中使用monolog_mysql将系统日志信息保存到mysql数据库 源码参考: https://github.com/markhilton/monolog-mysql 一、安装Installation 在文件根目录: 发现composer.json文件里的"require"多了一行: 如果执行报错检查php版本和laravel(5.5以上)版本, 或者可以自己手动粘贴 然后执行: 可以达到相同的效果 成功后发现vendor里面多了一个markhilton的文件夹 二、在config/app.php 的'providers'里面加入 三、生成数据库文件 执行完上面语句发现database/migration里多了一个create_logs_table的文件 将文件重命名为 2018_03_14_034420_create_logs_table(一定要是这种格式的文件名才可以执行数据库迁移) 可以自定义数据库表名称,默认为logs ,在这里我改成sys_log 然后执行下面语句: 四、数据库迁移Migrate tables. 生成了一个sys_log的表 五、应用集成 Application Integration 在bootstrap/app.php里面加入 六、配置环境 Environment configuration 在.env的配置文件中加入(保存日志的数据库连接类型,以及保存日志的表名称) 七、修改 真正实现将日志插入数据库的核心文件位置在: 将自定义的表名称修改为sys_log 更多关于Laravel相关内容感兴趣的读者可查看本站专题:《Laravel框架入门与进阶教程》、《php优秀开发框架总结》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》 希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。composer require markhilton/monolog-mysql
"markhilton/monolog-mysql": "^0.1.6",
"markhilton/monolog-mysql": "^0.1.6"
到composer.json上去,compser update
Publish config using Laravel Artisan CLI.php artisan vendor:publish
php artisan migrate
$app->configureMonologUsing(function($monolog) use($app) { $monolog->pushHandler(new Logger\Monolog\Handler\MysqlHandler());});
DB_LOG_TABLE=sys_log //保存日志的数据库表名称DB_LOG_CONNECTION=mysql //保存日志的数据库连接类型
/vendor/markhilton/monolog-mysql/src/Logger/Monolog/Handler/MysqlHandler.phptable = 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);}}
您可能感兴趣的文章:
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号