热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

thinkphp框架mongodb日志系统搭建

1、服务器mongodb安装(下载地址https:www.mongodb.comtrydownloadcommunity)yuminstall-yhttps:repo.mongod

1、服务器mongodb安装(下载地址https://www.mongodb.com/try/download/community)

yum install -y https://repo.mongodb.org/yum/redhat/7/mongodb-org/6.0/x86_64/RPMS/mongodb-org-server-6.0.1-1.el7.x86_64.rpm

启动服务

systemctl start mongod.service

查询服务状态

systemctl status mongod.service

停止服务

systemctl stop mongod.service

设置服务自启动

systemctl enable mongod.service

停止服务自启动

systemctl idsable mongod.service

2、php mongodb扩展安装


用宝塔装的,这里有问题,mongo是强类型数据库,写入时间格式不能是普通字符串要经过mongoDate类处理才能正常筛选时间,而我装的扩展力不存在这个类,所以这里退而求其次存储时间戳,往后对于日志的查看稍有不便,暂时没时间折腾了,先这样


3、安装mongodb依赖

composer require topthink/think-mOngo=2.0.*

4、代码配置

数据库连接配置,/config/database.php

'mongo' => [
// 数据库类型
'type' => '\think\mongo\Connection',
// 设置查询类
'query' => '\think\mongo\Query',
// 服务器地址
'hostname' => '127.0.0.1',
// 集合名
'database' => 'wms',
// 用户名
'username' => '',
// 密码
'password' => '',
// 端口
'hostport' => '27017',
],

tp框架全局异常接管配置/config/app.php

'exception_handle' => '\\app\\common\\HttpException'

异常接管类

namespace app\common;
use think\Request;
class HttpException extends \think\exception\Handle
{
public function render(\Exception $e)
{
$param = \think\facade\Request::param();
$url = \think\facade\Request::url();
\app\common\model\MongoError::mongoError($e->getMessage(), $e->getTrace(), $e->getFile(), $e->getLine(), $url, $param);
// 其他错误交给系统处理
return parent::render($e);
}
}

mongo集合所对应的模型类

namespace app\common\model;
use think\Model;
class MongoError extends Model
{
protected $cOnnection= 'mongo';
protected $table = 'error';
/**
* Desc:Desc:写入error日志
* Author:glt 2022/9/17 14:16
* @param $msg
* @param $trace
* @param $file
* @param $line
* @param $url
* @param $param
* @return int|string
*/
public static function mongoError($msg, $trace, $file, $line, $url, $param)
{
return self::insert(['msg' => $msg, 'trace' => $trace, 'file' => $file, 'line' => $line, 'param' => $param, 'url' => $url, 'add_time' => time()]);
}
}

至此,完工。项目中任意一处代码报错都会触发异常,将异常信息保存到mongo中,附带请求地址、错误信息、请求参数等,目的是更方便更精准的定位bug



推荐阅读
  • mongodb复制集部署文档 ... [详细]
  • 前端微服务二
    为了解决庞大的一整块后端服务带来的变更与扩展方面的限制,出现了微服务架构(Microservices):微服务是面向服务架构(SOA)的一种变体,把应用程序设计成一系列松耦合的细粒 ... [详细]
  • 系统osx10.11用的是brew下的php56brew下的nginx下了一个项目,在安装过程中提示缺少,intl和apc扩展,就用下面的语句下载了,也装上了,但php还是没有加载 ... [详细]
  • Mac下Flutter安装AndroidStudio配置
    补一个Mac下Flutter安装AndroidStudio配置(官网地址:https:flutter.devdocsget-startedinstallmacos)1.下载安装包; ... [详细]
  • nvmw安装,用于控制node版本;
    之前一直使用的是nodev2.2.0版本,挺说新版本的node解决了npm安装插件产生文件夹结构过深的问题,所以就想更新试试;上网一看才发现,尼玛的node已经到了6.+版本了,好 ... [详细]
  • 系统管理部分软件包管理进程管理服务管理磁盘管理系统管理之软件包管理软件包的安装方式yumapt方式rpmdpkg方式编译安装方式二进制安装方式rpm安装方式增删改查安装:-ivh查 ... [详细]
  • 开发环境_VS2013+WDK8.1 驱动开发环境搭建
    本文由编程笔记#小编为大家整理,主要介绍了VS2013+WDK8.1驱动开发环境搭建相关的知识,希望对你有一定的参考价值。WindowsDriverKit是一种完全集成 ... [详细]
  • 起底▍Spring Boot/Cloud背后豪华的研发团队 ——独角兽公司Pivotal
    作者|纯洁的微笑编辑|梅花鹿36大数据已获得授权转载我们刚开始学习SpringBoot的时候肯定都会看到这么一句话:SpringBoot是由Pivotal团队提供的全 ... [详细]
  • 导读:今天编程笔记来给各位分享关于php动态扩展怎么加载的相关内容,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: ... [详细]
  • 无需人类知识,DeepMind新一代围棋程序AlphaGo Zero再次登上Nature
    选自DeepMind机器之心编译在今年五月击败柯洁之后,AlphaGo并没有停止自己的发展。昨天,DeepMind在《自然》杂志上发表了一篇论文 ... [详细]
  • Linux是一套免费使用和***传播的类UNIX操作系统,主要用于基于Intel x86系列CPU的计算机上。Linux系统是由全世界各地的成千上万的程序员合适的方式定制自己的Li ... [详细]
  • 分享_Jenkits搭建芝波分享
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Jenkits搭建------芝波分享相关的知识,希望对你有一定的参考价值。   ... [详细]
  • x86x64体系探索及编程(对x86处理器介绍得最详尽又最具实践指导意义的一本书)邓志著ISBN978-7-121-18176-42012年10月出版定价:119.00元16开840页对x86处理 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • 通过手机浏览器调用客户端QQ
    php教程|php手册thinkphp代码,代码示例,代码参考,php短信,数据库备份代码,令牌验证,去除代码中的空白和注释调用QQ客户端php教程-php手册可调用iosandr ... [详细]
author-avatar
韩尕猫_345
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有