果酱社区 社交新零售电商产品从2016年9月启动至今,已经趋于稳定,而且已经初步得到市场的检验,特别能抗住电商中秒杀时高并发的交易场景。

接下来我们团队会逐步开源一些正在使用的工具和解决方案,并且会开源电商产品代码,欢迎大家关注我们 果酱社区 产品。

今天介绍的是我们在实际应用场景中使用的一个小功能包 Laravel database logger,求 Star : )

Why

  1. 果酱社区 是一个电商 + 新零售的交易类产品,所以对金额数据比较敏感。对于后台管理的操作需要进行操作日志,主要用于追踪操作记录。
  2. 果酱社区 产品包含 H5微商城(VUE),小程序,导购小程序端,因此是前后端完全分离的,在这种情况下,没有一个跟踪分析 API SQL 执行效率的工具。特别是后期需求越来越复杂,使用 Laravel Eloquent ORM 是非常方便,但也容易造成性能问题。而 Laravel debugger 只适用于 web 应用。因此需要个工具来分析每个请求产生的 SQL 执行语句和执行效率。

Feature

  1. 日志文件区分匿名用户和 Guard.
  2. 记录执行用户
  3. 记录 request url
  4. 支持记录指定 SQL 语句类型(SELECT,INSET INTO,UPDATE,DELETE,ALTER TABLE etc.)
  5. 单独记录 slow sql.

安装

composer require ibrand/laravel-database-logger:~1.0 -vvv

低于 Laravel5.5 版本

在 config/app.php 文件中 'providers' 添加

iBrand\DatabaseLogger\ServiceProvider::class

php artisan vendor:publish --provider="iBrand\DatabaseLogger\ServiceProvider"

使用

  1. add databaselogger middleware to route.
  2. set log_queries=>true in config/ibrand/dblogger.php file. or set DB_LOG_QUERIES = true in .env file.

讨论交流

iBrand 产品工具包:Laravel Database Logger的更多相关文章

  1. Laradock Laravel database connection refused

    Laradock Laravel database connection refused SHARE  Laradock is a PHP development environment which ...

  2. laravel database的事务函数

    laravel的事务使用如下: DB::connection('gvideo')->transaction(function () use ($user_id, $video_id, $acti ...

  3. iBrand 教程 0.1:Windows + Homestead 5 搭建 Laravel 开发环境

    统一开发环境 为了保证在学习和工作过程中避免因为开发环境不一致而导致各种各样的问题,Laravel 官方为了我们提供了一个完美的开发环境 Laravel Homestead,让我们无需再本地安装 PH ...

  4. iBrand 开源电商小程序 (Laravel API+ webpack + gulp + 原生小程序)

    iBrand 社交电商产品正式进入开源过程中了,我们制定了详细的开源计划,目前已经发布了 V1 的版本,后续的版本也在陆续整理完善中. 各个版本功能明细如下图: 3 个版本计划在今年春节前全部完成,可 ...

  5. Laravel 教程 - 实战 iBrand 开源电商 API 系统

    iBrand 简介 IYOYO 公司于2011年在上海创立.经过8年行业积累,IYOYO 坚信技术驱动商业革新,通过提供产品和服务助力中小企业向智能商业转型升级. 基于社交店商的核心价值,在2016年 ...

  6. Homestead 安装 phpMyAdmin 作为数据库管理客户端 — Laravel 实战 iBrand API 教程

    简介 phpMyAdmin 是一个以PHP为基础,以Web-Base方式架构在网站主机上的MySQL的数据库管理工具,让管理者可用Web接口管理MySQL数据库.借由此Web接口可以成为一个简易方式输 ...

  7. Laravel 获取当前 Guard 分析 —源自电商购物车的实际需求

    iBrand 产品中关于购物车的需求比较复杂,我们基于 overture/laravel-shopping-cart 扩展出了更加符合电商需求的购物车包,之前有文章进行过简单的介绍: Laravel ...

  8. Laravel Scheduling Package

    Laravel 是在 App\Console\Kernel 类中的 schedule 方法去定义所有的调度任务. iBrand 产品作为一个电商类产品,本身业务需求非常庞大和复杂,全部定义在 sche ...

  9. Laravel 精选资源大全

    原文链接  必备品 文档:Documentation API:API Reference 视频:Laracasts 新闻:Laravel News 中文文档 Laravel学院– Laravel 5. ...

随机推荐

  1. Nginx500错误

  2. oracle pl/sql如何定义变量

    目的:如何在pl/sql中定义基本类型,引用类型,记录型变量? 以下plsql程序用的scott用户的dept,emp表. 定义基本类型的变量 set serveroutput on ; --使用基本 ...

  3. 赋值号和printf

    1.赋值号会自动转换类型: int a= 2.1; printf(‘‘%d’’,a);         //输出结果是2 2.printf不会转换类型,而是直接将内存中表示的补码数拿出来,最明显的就是 ...

  4. toString()方法细节

    toString(),每一个非基本类型的对象都有一个toString()方法,当编译器需要一个Sting,而你只有一个对象时,该方法会自动调用. class WaterSource { private ...

  5. jupyter扩展插件Nbextensions使用

    本节主要解释jupyter中各种插件 原创文章,转载请务必注明原作者出处:http://www.cnblogs.com/cloud-ken/p/7401534.html Exercise Exerci ...

  6. 看得懂的区块链,看不清的ICO人心

    比特币又开始下跌了,是狂欢尽头还是又一波调整,无从得知,背后的乱象会让监管者继续心烦,而这乱象对我来说,有时候会有些心寒. 你说我怎么可能想到,我一个写程序的人,突然有一天会发现,朋友圈里有一些搞技术 ...

  7. SpringMVC环境搭建---xml版及注解版

    一.建立 JavaWeb 项目(基于Intellij 14.0.3搭建) 1.建立一个 Java 项目,在项目下新建一个文件夹 webapp ,然后在该文件夹下新建一个 WEB-INF 文件夹: 2. ...

  8. Could note find result map com.xxxx.entity.UserAccountDO

    原因: insert语句的标签写错:应该是parameterType,而不应该是resultType

  9. 洛谷 [P1578] WC2002 奶牛浴场

    本题是一道用极大化思想求最大子矩阵的经典题目.这个题目很出名,可以在百度搜索王知昆国家队dalao的论文,其中说的非常详细. 先枚举极大子矩形的左边界,然后从左到右依次扫描每一个障碍点,并不断修改可行 ...

  10. pycharm导入模块的时候遇到的两个错误

    1.from 包 import AES import后面一定是一个空格!!!!! 2.包的导入 上面多了一层报错 错误的原因是最外层多了一个pythonProject目录.改成下面的ok. 原因大佬这 ...