文章目录背景MDC简介实践 背景在定位问题时,我们希望通过grep traceId=xxx *.log快速的过滤出某次请求的所有日志。MDC简介SLF4J日志框架提供了一个MDC(Mapped Diagnostic Contexts)工具类, MDC可以帮我们记录追踪日志的功能,它支持 Log4J和LogBack 两种日志框架,通常打印出的日志会有线程号等信息来标志当前日志属于哪个线程。 使用
和大家共同完成打日志的流程:记录程序有没有错误。1.引入库代码如下(示例):2.在哪里看日志信息呢?
原创 2022-06-06 11:09:15
192阅读
# 使用 TP6日志写入 MySQL 在现代应用开发中,日志系统是不可或缺的一部分。它帮助开发者跟踪系统的运行状况,调试错误并监控用户的行为。本文将介绍如何在 ThinkPHP 6TP6)中将日志写入 MySQL 数据库,并以代码示例进行演示。 ## 一、环境准备 在开始之前,请确保你已经安装了 TP6 和 MySQL。创建一个数据库(例如 `log_db`),用于存储日志信息。此外,
原创 8月前
49阅读
    tomcat 日志可以分为两类:1、访问日志,记录访问的时间、来源、资料等相关信息(ServletRequest 可以获取的信息,都可以记录);2、运行日志,记录tomcat 运行、异常、错误信息。    tomcat 的日志记录常会被 log4j 或 slf4j 取代,不过这里不讨论另外日志组件,很纯粹地说一下tomcat 原生
并发测试命令:安装apacheab -c 1000 -n 100 http://www.baidu.com/接口地址 请求1000次、每次有100个人同时请求 http://www.baidu.com/api常规思路(优化&不推荐)// 业务逻辑: // 用户执行下单操作 // mysql 查询商品库存 // 判断物品库存是否充足 // 优化1:库存字段设置 unsigned (无符
转载 2023-12-14 10:34:38
160阅读
新版的事件系统可以看成是5.1版本行为系统的升级版,事件系统相比行为系统强大的地方在于事件本身可以是一个类,并且可以更好的支持事件订阅者。事件相比较中间件的优势是事件比中间件更加精准定位(或者说粒度更细),并且更适合一些业务场景的扩展。例如,我们通常会遇到用户注册或者登录后需要做一系列操作,通过事件系统可以做到不侵入原有代码完成登录的操作扩展,降低系统的耦合性的同时,也降低了BUG的可能性。事件系
转载 2024-05-29 10:49:22
149阅读
ThinkPHP6,视图的安装及模板渲染和变量赋值tp6视图功能由\think\View类配合视图驱动(也即模板引擎驱动)类一起完成,新版仅内置了PHP原生模板引擎(主要用于内置的异常页面输出),如果需要使用其它的模板引擎需要单独安装相应的模板引擎扩展。使用think-template模板引擎,只需要安装think-view 模板引擎驱动。composer require topthink/thi
转载 2024-04-07 11:06:20
87阅读
一、模型操作模型里的Admins::也可以用static::关键词链式操作,都可以在模型中使用controller公用示例 namespace app\index\controller; use app\BaseController; //我们用模板不需要到文件名,只需要到文件夹,不需要后面的Admins。 //如下所示,我们使用模型时,需要到文件名,即Admins.php use app\ind
转载 2024-03-28 22:09:59
251阅读
一:tp6单应用与多应用。目录结构 · ThinkPHP6.0完全开发手册 · 看云二:tp6打开错误提示。config->app.php->'show_error_msg'三:tp6去掉必须带index.php。 修改public/.htaccess文件为如下:<IfModule mod_rewrite.c> Options +FollowSymlinks
转载 2024-05-17 02:07:26
232阅读
1.新建一个类库目录可以自定义例如:app\common\utils\Captcha.php1 <?php 2 3 namespace app\common\utils; 4 5 use think\facade\Cache; 6 use think\facade\Config; 7 use think\Response; 8 9 class Captc
1.URL访问在多应用模式下,URL的访问地址定义如下:http://serverName/index.php/应用/控制器/操作/参数/值...在上篇文章我们使用url重写方法,将index.php隐藏,所以URL访问地址为:http://serverName/应用/控制器/操作/参数/值...根据上篇文章创建的admin端为例: 此时查看路由设置: thinkphp框架给控制器和操作设置了默认
日志驱动日志可以通过驱动支持不同的方式写入,默认日志会记录到文件中,系统已经内置的写入驱动包括 File、Socket,如果要临时关闭日志写入,可以设置日志类型为Test即可,例如:'log' => [ // 可以临时关闭日志写入 'type' => 'test', ],File驱动日志的记录方式默认是File方式,可以通过驱动的方式来扩展支持更多的记录
1.什么是JWT在介绍JWT之前,我们先来回顾一下利用token进行用户身份验证的流程:客户端使用用户名和密码请求登录服务端收到请求,验证用户名和密码验证成功后,服务端会签发一个token,再把这个token返回给客户端客户端收到token后可以把它存储起来,比如放到cookie中客户端每次向服务端请求资源时需要携带服务端签发的token,可以在cookie或者header中携带服务端收到请求,然
转载 2024-05-06 10:01:55
49阅读
在这篇文章中,我们将深入探讨如何使用 Docker 来部署 ThinkPHP 6TP6)应用程序。这包括了多个方面,如版本对比、迁移指南、兼容性处理、实战案例、性能优化以及生态扩展等。希望这能对想要在自己的项目中应用 TP6 的开发者有所帮助。 首先,我们来看一下 TP6 在 Docker 中的版本对比,以及它们之间的兼容性分析。假设我们有两个版本 TP6 以及 TP7 来进行比较。 ###
       一段时间来,每天的工作都比较杂,vb,asp,c#,sql,每项工作都要搞,实在是累!工作之余,想想公司和工作的情况,看来是有必要换个环境了。不过也要先把目前的工作处理完成啊。       最近又遇到一个问题:一家客户使用中的数据库,日志文件异常增大,平均每天增加大
转载 2023-10-26 23:56:02
186阅读
请求变量 use think\facade\Request; Request::param('name'); Request::param();全部请求变量 返回数组 Request::param(['name', 'email']); 多个变量 Request::param('a','1') $a
原创 2021-05-27 09:26:15
718阅读
# Docker TP6:使用Docker部署和管理应用程序 ## 引言 随着云计算技术的飞速发展,容器化技术也变得越来越流行。Docker作为目前最流行的容器化平台之一,被广泛应用于开发、测试和部署环境中。在本篇文章中,我们将介绍如何使用Docker来部署和管理应用程序。 ## Docker简介 Docker是一个开源的容器化平台,可以将应用程序及其依赖关系打包成一个独立的容器,以实现快
原创 2024-01-10 03:05:56
114阅读
必须要有几台服务器(普通的linux机器就可以)。如果没有可以用vm虚拟机模拟。笔者不能把公司的机器拿来玩,所以用自己的本本搭建的。4台linux机器。CentOS-6.4。分工如下:1台nginx主机 1台备用机 2台网站服务器首先是jdk和tomcat 在我前面的文章中已经说过关于java开发环境的搭建。其中(jdk,tomcat,mysql,eclipse)都有阐述。这里就不在多说。我们直接
转载 2024-09-10 11:42:38
32阅读
环境安装(Windows) 1. composer环境的配置         下载composer安装包:【下载地址】,安装直接点击下一步即可。2. 安装ThinkPHP(TP6)        进入到localhost目录,输入以下命令:composer create-project topthi
1、调试模式 .env 文件中的APP_DEBUG=true ...
转载 2021-07-26 14:46:00
116阅读
2评论
  • 1
  • 2
  • 3
  • 4
  • 5