当前位置: 首页 > news >正文

网站一年得多少钱网站开发实训周报

网站一年得多少钱,网站开发实训周报,wordpress如何放入域名,宣传册设计与制作模板我们经常会被问到这样一个问题。你接口返回的好慢呀#xff0c;能不能提升一下接口响应时间啊#xff1f;这个时候我们就需要去分析#xff0c;为什么慢#xff0c;慢在哪。而这首先应该做的就是确定接口返回时间过长确实是在服务内消耗的时间。而不是我们将请求发给网关或…我们经常会被问到这样一个问题。你接口返回的好慢呀能不能提升一下接口响应时间啊这个时候我们就需要去分析为什么慢慢在哪。而这首先应该做的就是确定接口返回时间过长确实是在服务内消耗的时间。而不是我们将请求发给网关或者nignx由nignx或者网关转发给我们服务的过程消耗时间。 这个时间我们就需要借助我们的acccess日志和out日志了。 1借助tomcat实现access日志打印 首先说一点总所周知的内容我们都知道tomcat是有access日志的所以简单通过tomcat配置实现应该不难。大概的配置如下都做了解释说明。 # 开启Tomcat的访问日志 server.tomcat.accesslog.enabledtrue# 指定日志文件的路径例如在当前项目根目录下生成名为 access.log 的日志文件 # 指定Tomcat访问日志文件的目录。默认值logs server.tomcat.accesslog.directory./ # 指定Tomcat访问日志文件的前缀。默认值access_log server.tomcat.accesslog.prefixaccess # 指定Tomcat访问日志文件的后缀。默认值.log server.tomcat.accesslog.suffix.log# 配置 Tomcat 访问日志文件名中日期部分的格式。默认值是 logback-ext表示使用 Logback 默认的日期格式 server.tomcat.accesslog.file-date-format.yyyy-MM-dd# 是用于配置 Tomcat 访问日志的格式模式 # 以下是一些常见的日志模式格式 # %h远程主机名 # %l远程登录名 # %u远程用户 # %t日期和时间使用 Common Log Format 的格式例如[10/Oct/2000:13:55:36 -0700] # %r请求的第一行 # %sHTTP状态码 # %b响应内容长度以字节为单位省略则表示 - # %{xxx}i请求头中的指定字段 # %{xxx}o响应头中的指定字段 server.tomcat.accesslog.pattern%h %l %u %t %r %s %b %D# Tomcat访问日志文件轮换时是否重命名旧日志文件 # 设置为 true则旧的访问日志文件在轮换时会被重命名文件名会添加一个时间戳或者序号作为后缀。 # 如果设置为 false则旧的访问日志文件不会被重命名而是直接覆盖或者删除。 server.tomcat.accesslog.rename-on-rotatefalse# 用于配置是否在Tomcat访问日志中记录请求的属性。默认为 false。 # 设置为 trueTomcat访问日志将包含额外的请求属性信息这些属性信息通常是通过Servlet容器或者应用程序添加到请求中的。 # 这些额外的属性可以包括HTTP请求的各种元数据例如请求的方法、协议、URI等等 server.tomcat.accesslog.request-attributes-enabledfalse# Tomcat访问日志的轮换策略。设置为 trueTomcat访问日志将在达到一定大小限制时进行轮换以防止日志文件过大。 # 一旦达到了指定的大小限制Tomcat会停止往当前日志文件中写入内容并创建一个新的日志文件继续记录访问日志。 server.tomcat.accesslog.rotatetrue# 设置Tomcat访问日志文件的最大大小。可以指定大小如 10MB 或 100KB也可以使用 -1 表示不限制大小默认为 -1。 server.tomcat.accesslog.max-file-size10MB# 设置HTTP POST请求的最大大小以字节为单位。默认值2097152字节即2MB # server.tomcat.max-http-post-size# 设置HTTP请求头的最大大小以字节为单位。默认值0表示不限制大小 # server.tomcat.max-http-header-size# 设置URI编码用于解析URL中的参数。默认值UTF-8 # server.tomcat.uri-encoding# 设置Tomcat服务器的最大线程数用于处理请求。默认值200 # server.tomcat.max-threads# 设置客户端和服务器之间的连接超时时间以毫秒为单位。默认值-1表示不设置超时 # server.tomcat.connection-timeout 我们配置好了然后兴致冲冲地去运行项目一看发现咋没打印呢我不是开启了tomcat日志了么 在 Tomcat 中访问日志是由 Tomcat 的 AccessLogValve 来处理的而不是由 Logback。因此如果已经在 Logback 中配置了日志输出可能会影响到 Tomcat 的访问日志的输出。 这里可能需要做别的配置我这里介绍几种方法。 2借助拦截器interceptor实现 package com.luojie.config.logconfig;import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;Configuration public class WebMvcConfig implements WebMvcConfigurer {Overridepublic void addInterceptors(InterceptorRegistry registry) {registry.addInterceptor(new AccessLogInterceptor());} } package com.luojie.config.logconfig;import lombok.extern.slf4j.Slf4j; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView;import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;Slf4j public class AccessLogInterceptor implements HandlerInterceptor {Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)throws Exception {log.info(From Interceptor Request IN URL: {} - Method: {} -IP:{}, request.getRequestURL(), request.getMethod(), request.getRemoteAddr());return true;}Overridepublic void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,ModelAndView modelAndView) throws Exception {// Do nothing}Overridepublic void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)throws Exception {// Do nothinglog.info(From Interceptor Request OUT URL: {} - Method: {} -IP:{}, request.getRequestURL(), request.getMethod(), request.getRemoteAddr());} } 3借助aop实现 package com.luojie.config.logconfig;import lombok.extern.slf4j.Slf4j; import org.aspectj.lang.JoinPoint; import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Component;import javax.servlet.http.HttpServletRequest; import java.util.Arrays;Aspect // 表示该类是一个切面类 Component // 将该类注册为一个bean放入IOC容器 Slf4j public class LogAspectConfig {Autowiredprivate HttpServletRequest request;Pointcut(value execution(* com.luojie.controller.*.*(..)))public void pointcut() {}Before(value pointcut())public void before(JoinPoint joinPoint) {String name joinPoint.getSignature().getName(); // 获取方法名Object[] args joinPoint.getArgs();// 获取参数列表 // log.info(前置通知 开启调用方法名{} 参数{}, name, Arrays.toString(args));log.info( From AOP Request In URL: {} - Method: {} -IP:{}, request.getRequestURL(), request.getMethod(), request.getRemoteAddr());}After(value pointcut())public void after(JoinPoint joinPoint) {String name joinPoint.getSignature().getName(); // 获取方法名 // log.info(后置通知 开启调用方法名{}, name);log.info( From AOP Request Out URL: {} - Method: {} -IP:{}, request.getRequestURL(), request.getMethod(), request.getRemoteAddr());}}aop的使用不知道的可以详细查看Spring AOP基本认识与使用-CSDN博客 4修改logback.xml文件目的所有进出日志统一保存到同一个文件且无其它日志 ?xml version1.0 encodingUTF-8? configuration!-- 定义输出到控制台的日志记录器 --appender nameCONSOLE classch.qos.logback.core.ConsoleAppenderencoder!-- 设置日志输出格式 --pattern%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n/pattern !-- pattern${ACCESS_LOG_PATTERN}/pattern--/encoder/appenderappender nameFILE classch.qos.logback.core.rolling.RollingFileAppenderfilelogs/mylog.log/filerollingPolicy classch.qos.logback.core.rolling.FixedWindowRollingPolicy!-- 日志文件名称格式按日期滚动 --fileNamePatternlogs/mylog.%d{yyyy-MM-dd}.%i.log.zip/fileNamePattern!-- 最多保留的日志文件数量 --maxIndex30/maxIndexminIndex1/minIndex/rollingPolicytriggeringPolicy classch.qos.logback.core.rolling.SizeBasedTriggeringPolicy!-- 单个日志文件大小例如: 千字节:10KB 或 10kb;兆字节:10MB 或 10mb; 以及10GB 或 10gb--maxFileSize10MB/maxFileSize/triggeringPolicyencoderpattern%date [%thread] %-5level %logger{35} - %msg%n/pattern/encoder/appender!--打印数据库连接池日志信息--logger namecom.zaxxer.hikari levelDEBUG/!--打印sql信息--logger namecom.luojie.dao levelDEBUG/!--additivityfalse 确保特定类的日志不会传递给跟logger避免重复输出--logger namecom.luojie.config.logconfig levelINFO additivityfalseappender-ref refFILE//logger!-- 设置根日志级别为 INFO --root levelINFOappender-ref refCONSOLE/ !-- 将日志输出到控制台 --/root/configuration 5查看测试结果 希望对各位看官老爷有帮助如果可以的话能否请各位老爷点个赞关注一下博主呢在这里非常感谢各位老爷了。
http://www.zqtcl.cn/news/711358/

相关文章:

  • 有什么在线做文档的网站网站开发需要用到哪些技术
  • 网站套餐可以分摊吗吗移动登录网页模板免费下载
  • asp网站会员注册不了但是打不开网页
  • wordpress 中文网店杭州排名优化公司
  • wordpress建站安全吗wordpress企业主题教程
  • 网站构建的开发费用信息管理系统网站开发教程
  • 自己做网站怎么维护wordpress素材模板
  • 如何选择一个好的优质网站建设公司wordpress 主题小工具
  • mysql数据库做网站广州网站seo地址
  • 福建省住房和城乡建设厅网站电话网站开发项目步骤
  • 网站注册域名多少钱淘宝网商城
  • 做架构图的网站网站和网店的区别
  • 做红包网站简单个人网站设计
  • 新手学做网站pdf手wordpress修改搜索框
  • 做湲兔费网站视颍如何通过查询网站注册时间
  • 重庆cms建站模板南通网站建设推广优化
  • 合肥网站建设的公司新闻类网站如何做量化统计
  • 好用的在线地图网站十六局集团门户网
  • 网站开发数据库连接失败广州网站建站平台
  • 鄂尔多斯北京网站建设加盟网站建设的内容
  • 网站 被 抄袭不属于营销型网站的特点
  • 浙江英文网站建设互联网公司排名2021完整版
  • 完美代码的网站python开发工具
  • 餐饮网站开发参考文献网站建设500错误代码
  • 网站开发关键技术网站自动推广软件免费
  • 前端学习网站南阳东莞网站建设公司哪家好
  • 关于做网站的了解点wordpress小程序插曲
  • PHP网站开发与管理设计心得个人可以做聊天网站备案吗
  • 开公司可以在哪些网站做推广上海画册设计
  • 成都高新区规划建设局网站网络营销方式有哪些?举例说明