首页 > 其他分享 >日志部分

日志部分

时间:2023-04-02 21:45:43浏览次数:29  
标签:info HTTP 18 写入 2023 日志 部分

简历:实现同步/异步日志系统,记录服务器运行状态

 

一、概述

1、什么是日志系统

记录服务器运行状态、错误信息、访问数据,实现按天分类、超行分类,支持同步、异步

2、同步/异步日志简要概述

同步日志异步日志区别在于写入操作是否是阻塞的。

同步写入会阻塞当前线程,直到写入操作完成,简单但高并发场景下,会阻塞线程执行。

异步写入,不会阻塞当前线程,而是把写入操作交给另一个线程处理,当前线程继续执行其他任务。

3、实现方式

同步:格式化输出内容,信息写入日志文件

异步:格式化输出内容,信息写入阻塞队列,创建一个写线程,从阻塞队列取出内容写入日志文件

4、日志分级

本项目把日志分成了四个等级:DEBUG、INFO、WARN、ERROR四种级别的日志

DEBUG、WARN都是在调试时使用,实际运行不会打印出现

INFO服务器运行记录

ERROR出现错误

二、比较同步/异步

1、代码中如何判断是同步/异步

通过初始化是否设置阻塞队列大小来判断,0为同步,大于0为异步

三、日志内容

1、日志名

时间+

2、实际日志举例

(1)info:大部分都是info

2023-03-18 14:39:40.042918 [info]: timer tick  //时间片 2023-03-18 14:39:41.259188 [info]: deal with the client(192.168.18.1)  //记录访问的客户端ip 2023-03-18 14:39:41.259729 [info]: adjust timer once   //调整定时器   2023-03-18 14:39:41.259873 [info]: 获得1行http行:GET / HTTP/1.1  //HTTP报文 2023-03-18 14:39:41.260927 [info]: 获得1行http行:Connection: keep-alive    //HTTP报文 2023-03-18 14:39:41.260939 [info]: 获得1行http行:Cache-Control: max-age=0    //HTTP报文 2023-03-18 14:39:41.260946 [info]: oop! unknow header Cache-Control: max-age=0     //HTTP报文未知   2023-03-18 15:02:36.823946 [info]: request:HTTP/1.1 200 OK  //HTTP响应写入,写入分行 2023-03-18 15:02:36.823963 [info]: request:HTTP/1.1 200 OK  //HTTP响应写入,写入分行 Content-Length:586 2023-03-18 15:02:36.823972 [info]: request:HTTP/1.1 200 OK  //HTTP响应写入,写入分行 Content-Length:586 Connection:keep-alive 2023-03-18 15:02:36.823979 [info]: request:HTTP/1.1 200 OK  //HTTP响应写入,写入分行 Content-Length:586 Connection:keep-alive 2023-03-18 15:02:36.826146 [info]: send data to the client(192.168.18.1)    //发送到客户端ip  

标签:info,HTTP,18,写入,2023,日志,部分
From: https://www.cnblogs.com/fei1013/p/17281465.html

相关文章

  • 赶 ddl 日志
    目录2023.4.22023.4.2刚赶完两个实验报告,现在在准备讨论班,主题是“负温度”。去搜了下老师推荐的几个近年来围绕负温度的一些实验进展和争论,还挺有意思的:Science339,52(2013);NaturePhysics10,67(2014);Am.J.Phys.83,163(2015);Phys.Rev.E95,012125(2017);......
  • 使用logrotate做nginx日志分割
    一、logrotate介绍logrotate是centos自带命令,其他linux操作系统可能需要自行安装,用来进行日志切割和定期删除,简单来说就是将某个日志文件按照时间或大小分割成多份,删除时间久远的日志。日志用来帮助我们了解程序运行情况,定位程序bug,如果不对日志及时进行清理就会占据磁盘空间,尤......
  • 孤狼老师-接口测试自动化(Python版完整版)-日志记录&测试报告
            此时,由于每次执行方法前,都会执行一遍setup,故每次都要初始化一次LoggerHelper方法,每次都会加载一次配置文件,优化LoggerHelper:        针对多个接口用例,使用如下方式:   ......
  • C++ Primer Plus基础知识部分快速通关
    目录第二章第三章第四章数组字符串结构体共用体枚举指针指针、数组与指针算术变量存储方式数组替代第五章递增递减运算符指针与递增递减逗号运算符循环循环与文本输入文件尾(EOF)条件重要性实现第六章逻辑运算符相关字符函数库第七章基础知识函数与数组使用数组区间的函数指针与con......
  • 《暗黑战神》个人部分学习笔记 记录
    SIKI学院暗黑战神课程跳转链接其他同学的笔记csdn:正版游戏的受害者ARPG实战CSDN:听雨眠丨暗黑战神学习部分笔记音效播放服务中的一段代码privateDictionary<string,AudioClip>adDic=newDictionary<string,AudioClip>();publicAudioClipLoadAudio(stri......
  • sql server 收缩日志文件
    在SQLServer中,可以使用DBCCSHRINKFILE命令来收缩数据库的事务日志文件。下面是一个示例:USE<database_name>GO--收缩日志文件DBCCSHRINKFILE(<log_file_name>,<target_size_in_MB>)其中,<database_name>是要操作的数据库名称,<log_file_name>是要收缩的事......
  • 一个循环采集CPU的etl日志的脚本
    一个循环采集CPU的etl日志的脚本mdD:\\tempsetTargetDriveEtl=D:\\temp@echooffSET/A"index=1"SET/A"count=10":whileif%index%leq%count%(echoThevalueofindexis%index%wmicprocesswherename="wprui.exe"......
  • 自研日志实用工具类
    今天我来分享一个关于日志的问题和解法。问题没有界面的后端程序在实际运行中发生了什么事,通常是通过日志来探查。所以日志非常重要。数据库记录了程序运行的结果,日志记录了程序运行的过程。但是日志经常出现一个问题,日志量太多,以至于把重要的日志淹没在里面。未能及时......
  • openfeign开启日志
    openfeign的日志级别有:NONE:默认,不开启日志BASIC:只记录请求方法和URL以及响应状态代码和执行时间HEADERS:记录基本信息以及请求和响应标头。FULL:记录请求和响应的标题、正文和元数据。  全局日志加入Logger.LevelBean:@ConfigurationpublicclassMyConfigration{......
  • 类型类Type classes(第一部分)类约束 Eq、Ord、Show、Read、Enum、Num、Integral、Float
    类型类Typeclasses是一种定义某种行为的接口。如果类型是类型类的成员,则意味着类型支持并实现了类型类定义的行为。类约束==函数的类型,如下:type(==)(==)::Eqa=>a->a->Bool=>符号定义了一个类约束,==函数接受两个相同类型的形参,并返回Bool类型。这两个形参的类型......