日记24.12.10

日记24.12.10

  • 一.webserver:

一.webserver:

今天是失败的一天(其实还好),主要是本来准备把Log日志系统写完的,结果因为在床上躺了太久导致没有写完(短视频害人)。

但是今天找到了一篇好的博客,按照他的思路估计一两周就能写完,并且看了他的思路之后虽然代码没写多少,但是整体框架很清晰,大概知道这个webserver的实现思路了,估计我做完这个项目后,也会写个博客,造福后来人,虽然说这个项目整体不难,但是对于没有项目经验的uu来说自己实现还是有难度的,所以有相关博客进行讲解会方便一点。

好的,来说webserver,虽然代码没写多少,但实际Logger的框架已经搞得差不多了,话不多说直接上图:
在这里插入图片描述
解释一下,首先这幅图省略了FixedBuffer,这个可以简单看成一个大小不变的缓冲区,底层就是一个字符数组,图中几个类大多数都用到了他,就是把它当缓冲区,没什么特别。

FileUtil:将FILE*封装,使得文件操作变得简单
LogFile:实现将文件写入磁盘和文件滚动,但是同步写操作
AsyncLogger:实现异步写,具体写入磁盘的操作还是调用LogFile
LogStream:重载了<<,使得LOG_XXX<<data;成为可能
Logger:包含了LogStream,用LogStream接受输入,再将LogStream内容写到文件,其实还有个类SourceFile没写出来,因为只是封装了一下filename。然后用Logger::setOutput,选择调用LogFile还是AsyncLogger(函数指针),默认同步写到stdout

明天会把代码写出来

`

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值