自定义C/C++日志输出函数 (www.kymjs.com)

【简介】

在繁杂的项目中,日志打印必不可少。但是编写打印的工作,有时候是无趣的、繁琐的、浪费精力的。 如何能够快速、方便的编写打印;如何清晰、准确的定位;如何简单并优雅的实现;最后才能让我们摆脱这样枯燥的、重复的工作? 网上有很多强大的日志类工具,我也都使用过一些,有时候也并没有理想中的方便。今天我想分享给大家的一套我自己的解决方案。

点击查看原文 >>

@技术头条 2021-02-13 23:40 / 0个评论
赞过的人: @IT技术博客大学习
要不要再学学下面的文章?
以非阻塞方式执行一个函数 (blog.codingnow.com)
用过 skynet 的应该都碰到过:当我们在服务中不小心调用了一个长时间运行而不返回的 C 函数,会独占一个工作线程。同时,这个被阻塞的服务也无法处理新的消息。一旦这种情况发生,看似是无解的。我们通常认为,是设计问题导致了这种情况发生。skynet 的框架在监测到这种情况发生时,会输出 maybe in an endless loop 。

如果是 Lua 函数产生的死循环,可以通过发送 signal 打断正在运行运行的 Lua 虚拟机,但如果是陷入 C 函数中,只能事后追查 bug 了。

那么,如果我原本就预期一段 C 代码会运行很长时间,有没有可能从底层支持以非阻塞方式运行这段代码呢?即,在这段代码运行期间,该服务还可以接收并处理新的消息?
by @技术头条 2024-03-13 13:20 查看详情
Nginx日志分析-MIME types (ixyzero.com)
Nginx日志的分析,尤其是加白,在不是特别清楚功能和作用的情况下,还是应该细粒度的操作,比如先按照Content-Type加白,就比按照domain维度的加白粒度会更细一点,比按照uri来加白要更方便和准确一点。简单记录一下,方便后面有需要的时候参考。
by @技术头条 2024-01-14 18:57 查看详情
Kratos 漫游指南 3 - 日志 (farer.org)
本篇讲讲Kratos日志组件的使用方式。

在服务上线后,我们可以使用日志来观察程序的行为、诊断问题或者配置相应的告警等。定义良好的结构化日志,能够提高日志的检索效率,使处理问题变得更加方便。
by @技术头条 2024-01-13 23:30 查看详情
RisingWave 窗口函数:滑动的艺术与对称的美学 (stdrc.cc)
窗口函数(Window Function)是数据库和流处理中一项非常常用的功能,该功能可用于对每一行输入数据计算其前后一定窗口范围内的数据的聚合结果,或是获取输入行的前/后指定偏移行中的数据。在其他一些流系统中,窗口函数功能也被称作“Over Aggregation”1。RisingWave 在此前的 1.1 版本中加入了窗口函数支持2。在 RisingWave 的窗口函数实现中,我们把实施窗口函数计算的算子称为 OverWindow 算子,本文将尝试解析 OverWindow 算子的设计与实现。
by @技术头条 2023-12-11 23:09 查看详情
写给开发人员的实用密码学(三)—— MAC 与密钥派生函数 KDF (thiscute.world)
我们都更喜欢使用密码来保护自己的数据而不是二进制的密钥,因为相比之下二进制密钥太难记忆了,字符形式的密码才是符合人类思维习惯的东西。

可对计算机而言就刚好相反了,现代密码学的很多算法都要求输入是一个大的数字,二进制的密钥就是这样一个大的数字。
by @技术头条 2023-11-06 23:05 查看详情
写给开发人员的实用密码学(二)—— 哈希函数 (thiscute.world)
更好的哈希函数可以使用这样的方案:它将第一个字节作为状态,然后转换状态(例如,将它乘以像 31 这样的素数),然后将下一个字节添加到状态,然后再次转换状态并添加下一个字节等。 这样的操作可以显着降低碰撞概率并产生更均匀的分布。
by @技术头条 2023-11-06 23:04 查看详情
从Nginx过滤打印user-agent为clb-healthcheck的日志聊聊Nginx的日志自定义打印 (wiki.eryajf.net)
通常我们的南北流量的链路是从云的 LB 到服务器的 Nginx 集群,为了利用好 lb 自动检测 Nginx 的功能,通常你会打开健康检查,此时,Nginx 的日志当中就会打印大量的健康检查日志,令人不胜其烦。
by @技术头条 2023-10-30 23:39 查看详情
Android|集成 slf4j + logback 作为日志框架 (mazhuang.org)
最近在做一个 Android APP 的日志改造,我搜了一下「Android 日志框架」,大多网友推荐的是 logger、timber、xLog 等等,看着也不错。不过出于几年后端开发的经验和习惯,我进一步了解,发现熟悉的 log4j 和 logback 在 Android 上也有人做过适配,所以最终决定使用 slf4j + logback,以在前后端开发中取得一致的体验。
by @技术头条 2023-10-30 22:56 查看详情
浅谈微服务k8s情景下的日志采集 (www.iots.vip)
  传统虚拟机、物理机环境下,日志文件通常存放于固定的路径下,当应用重启或出现异常退出的情况,日志也会留存下来,不受影响。而 Kubernetes 环境下,提供了相比前者更为细粒度的资源调度,容器(或 Pod)的生命周期是十分短暂的,当主进程退出,容器(或 Pod)便会被销毁,随之而来的是其关联资源也会被释放。因此,在日志采集的这个点上,Kubernetes 场景相比传统环境而言,会更为复杂,需要考虑的点更多。
by @技术头条 2023-08-06 19:04 查看详情
浅议分布式链路追踪与日志的整合 (blog.yuanpei.me)
最近拜读了 Artech 大佬的新文章 《几个Caller-特性的妙用》,可以说是受益匪浅。不过,对我而言,最大的收获当属这篇文章里的第二主角,即 ActivitySource 和 Activity,这组 API 可以认为是微软针对 OpenTelemetry 规范的一种实现,即:每一个 Activity 都对应着一个 Span 。经过数日的探索,我有了一点小小的收获。因此,今天这篇博客我想和大家分享的是,分布式链路追踪系统如何和日志系统进行整合。
by @技术头条 2023-07-30 17:42 查看详情