Commit Graph

179 Commits

Author SHA1 Message Date
guo_peixu
451af3b929 支持过滤模块名,支持匹配通配符"*" 2022-07-08 10:07:30 +08:00
guo_peixu
3d6d7b909a 修改问题:日志中不显示模块名 2022-07-06 17:00:01 +08:00
guo_peixu
fac6124b6e 修改问题:消费者正在向共享内存中写入日志过滤规则时,可能恰好被生产者读取,导致生产者读取到脏数据 2022-07-06 12:05:45 +08:00
guo_peixu
1655537e0d 修改问题:由于日志长度入参错误,导致向缓冲区拷贝了超过实际长度的无效数据。
将环形缓冲区的操作以接口形式提供,减少与外部程序的耦合
2022-07-05 18:25:55 +08:00
guo_peixu
6bf1bc201c 修改问题:日志接口的handle在使用前未判空 2022-07-05 14:34:39 +08:00
guo_peixu
54a2f747d5 记录一些消费者在运行过程中的错误日志 2022-07-05 10:58:44 +08:00
guo_peixu
1898fb9eb3 修改问题:消费者临时存储进程号的链表,可能free不完全 2022-07-05 10:14:08 +08:00
guo_peixu
db8b5e259e 修改问题:当消费者不对某个进程进行消费时,该进程仍然会产生无效日志。
消费者将自己订阅的生产者进程号写入共享内存,生产者或消费者重启后,生产者读共享内存匹配一次自己的进程号,避免进行无效生产
2022-07-04 19:08:19 +08:00
guo_peixu
ba9dd722b2 修改生产者向共享内存写日志时,可能发生踩内存的问题
计算缓冲区可用长度时,忽略了日志等级占用的四字节,有踩内存风险
2022-07-04 14:11:04 +08:00
guo_peixu
09b22fd49a 支持过滤日志等级
消费者进程将日志等级要求写入共享内存,生产者读取共享,只产生符合日志等级要求的日志
2022-07-04 14:00:18 +08:00
guo_peixu
0fb5b8adea 修改日志不显示日志等级的问题 2022-07-01 19:01:10 +08:00
guo_peixu
5e17fced23 修改生产者收到退出信号后,可能不退出的问题 2022-06-30 15:26:23 +08:00
guo_peixu
8267c9712e 修改生产者和消费者都退出后,共享内存未删除的问题
生产者消费者注册信号处理函数,退出时检查如果没有其它进程使用共享内存,将共享内存删除
2022-06-30 15:16:08 +08:00
guo_peixu
89899d2d0a 修改多线程重复映射同一块共享内存,可能导致进程的线性地址耗尽问题。
一个线程映射共享内存后,将地址存储,其它线程可直接使用,不用重复映射
2022-06-30 11:19:40 +08:00
guo_peixu
a5bffd2fe7 消费者通过注册信号处理函数,在退出时向共享内存中添加状态标记,生产者通过此标记确定消费者是否在运行。删除信号量相关代码 2022-06-29 18:24:51 +08:00
guo_peixu
dab9b5c03d 使用进程间共享的信号量,标记消费者进程是否正在运行 2022-06-28 18:42:05 +08:00
guo_peixu
c059e7479e 修改日志文件的日期错误的问题。删除功能重复的无效代码。 2022-06-24 16:49:55 +08:00
guo_peixu
e13e857381 使用tty命令获取当前终端名称,将日志输出到当前终端 2022-06-23 17:12:25 +08:00
guo_peixu
fada178df2 修改线程获取缓冲区失败问题。
修改共享内存地址映射失败时的判错条件,shmat失败会返回(void *)-1而不是NULL
2022-06-23 14:20:32 +08:00
guo_peixu
4531d74c80 优化共享内存解析格式,减少内存浪费。优化生产者进程的效率。 2022-06-23 11:41:16 +08:00
guo_peixu
775982f2d5 修改日志丢失的问题。缓冲区未遍历完而退出循环,会导致刷新不及时而丢失日志 2022-06-22 19:05:39 +08:00
guo_peixu
7a88ab75ec 在进行snprintf之前,进行缓冲区的判满,提高处理效率。去掉无意义的goto语句 2022-06-22 18:42:59 +08:00
guo_peixu
b94706ac06 启动消费者进程时,支持设置消费指定生产者的日志,支持设置将日志输出到文件或者终端 2022-06-22 17:49:58 +08:00
guo_peixu
3421f97f95 支持输出日志到指定目录 2022-06-22 09:44:55 +08:00
guo_peixu
93c07a240b 使用共享锁来标记环形缓冲区是否正在被使用 2022-06-17 18:14:24 +08:00
guo_peixu
0ce7424fa1 消费者进程启动时,检查是否存在已启动的消费者进程,避免重复启动 2022-06-16 17:11:34 +08:00
guo_peixu
21b84aa885 支持多个生产者进程的场景。当生产者的某个线程抢占环形缓冲区时,使用进程间的信号量代替线程锁来保护共享资源 2022-06-14 16:16:53 +08:00
guo_peixu
30f2094627 修改MESA_log动态库链接可执行程序失败问题。cmake配置中隐藏了动态库中的函数符号导致链接失败,添加这些对外提供的函数符号。 2022-06-13 14:39:44 +08:00
guo_peixu
7faf202791 修改编译问题。并将开源snprintf与MESA_log编译到一起。 2022-06-13 13:00:57 +08:00
guo_peixu
af7c375634 打开开源snprintf和日志消费者进程的编译 2022-06-10 17:26:40 +08:00
guo_peixu
d7b64b4577 提交环形缓冲区添加代码 2022-06-10 16:14:32 +08:00
guo_peixu
65ed1c3a92 提交环形缓冲区相关修改 2022-06-10 16:13:11 +08:00
guo_peixu
08fd550822 添加开源snprintf的相关编译宏 2022-06-08 11:10:41 +08:00
guo_peixu
c0c6a97a13 删除无用代码 2022-06-08 10:54:00 +08:00
guo_peixu
20f3fb58b7 snprintf支持格式化结构体 2022-06-07 16:26:10 +08:00
liuxueli
b677bb6c71 TSG-9690: 适配Rocky Linux8.5 v2.0.9 2022-03-01 13:35:24 +08:00
yangwei
f76af2f036 feat(printf): 使用fprintf输出屏显至stderr,替换printf v2.0.8 2021-06-08 15:34:03 +08:00
杨威
31bd3fed9c Update .gitlab-ci.yml testing源仅debug版开启asan 2020-10-30 23:05:32 +08:00
杨威
9ecf746f0f Update .gitlab-ci.yml 2020-10-15 09:47:55 +08:00
杨威
040ce55a1b Update travis.sh, ASAN using devtoolset-7 2020-10-14 15:02:23 +08:00
liuxueli
cb4ad71c50 编译增加ASAN的选项 v2.0.7 2020-10-09 10:30:54 +08:00
liuxueli
02100e4232 上传debuginfo至sentry 2020-10-09 10:23:26 +08:00
yangwei
63f5231e9f 🐞fix(package.cmake): 修复PROFILE描述错误的bug v2.0.6 2020-09-28 19:59:36 +08:00
yangwei
15fe685383 🦄refactor(tmpfile):
snapshot目录更新至/tmp/MESA_handle_logger,同时增加按1小时回收文件的脚本,rpm安装后将安装至/usr/lib/tmpfiles.d/目录
2020-09-28 19:38:08 +08:00
yangwei
e1057e6d0c 🔧build(cmake/): 增加changelog,并调整version和changelog目录 2020-09-28 16:42:42 +08:00
yangwei
2e4e4dff17 🐞fix(creat_dir): 修复计算待创建目录不包含/时长度计算错误的bug v2.0.5 2020-09-24 15:18:14 +08:00
yangwei
150255033c 🔧build(CMakeLists.txt): 动态链接库链接pthread v2.0.4 2020-09-22 14:26:51 +08:00
yangwei
0f0e55c877 🔧build(CMakeLists.txt):
放弃logger2,重新使用logger作为包名称
v2.0.3 v2.0.3-testing
2020-09-21 21:21:15 +08:00
yangwei
8857f282b9 🌈style(snapshot_handle_info):
兼容logger1行为时,屏显输出handle_name,log_path和level
2020-09-21 21:16:25 +08:00
yangwei
cc0912eed0 🐎ci(.gitlab-ci.yml): 增加testing编译devel包 2020-09-21 21:03:02 +08:00