如何优雅地记录操作日志?
操作日志广泛存在于各个B端和一些C端系统中,比如:客服可以根据工单的操作日志快速知道哪些人对这个工单做了哪些操作,进而快速地定位问题。操作日志和系统日志不一样,操作日志必须要做到简单易懂。所以如何让操作日志不和业务逻辑耦合,如何让操作日志的内容易于理解,让操作日志的接入更加简单?上面这些都是本文要回答的问题,主要围绕着如何“优雅”地记录操作日志展开描述。
操作日志广泛存在于各个B端和一些C端系统中,比如:客服可以根据工单的操作日志快速知道哪些人对这个工单做了哪些操作,进而快速地定位问题。操作日志和系统日志不一样,操作日志必须要做到简单易懂。所以如何让操作日志不和业务逻辑耦合,如何让操作日志的内容易于理解,让操作日志的接入更加简单?上面这些都是本文要回答的问题,主要围绕着如何“优雅”地记录操作日志展开描述。
通过配置 MySQL 的 socket 身份认证插件,可实现本地用户无需密码直接登录数据库。这种方式适合开发测试环境,能提升便利性,同时确保本地环境安全性至关重要!你会尝试这种方法吗?
本文探讨了在 Hive SQL 中计算用户的最大连续操作天数的实现方法。通过窗口函数和日期差计算,文章详细展示了如何找出连续在线的天数,适用于数据分析中的活跃用户筛选。同时还介绍了结合分位数和平均值分析操作频率的查询技巧。
本文介绍了如何使用 Docker 和 EFK(Elasticsearch、Fluentd、Kibana)套件构建日志管理系统,通过 Fluentd 将 NACOS 和业务日志集中发送至 Elasticsearch,方便数据分析和故障排查。文章提供了 `docker-compose.yml` 配置文件示例,解决了插件安装、权限设置和健康检查等常见问题,为构建灵活高效的日志管理系统提供了实用方法。
本文介绍了如何在 OpenTelemetry 中使用 MDC(映射诊断上下文)实现日志与链路追踪的集成,帮助开发者快速定位问题。通过将 `trace_id` 等信息写入日志 MDC,实现日志和分布式追踪系统的无缝对接。在 Java 中结合 Logback 或 Log4j 并借助 OpenTelemetry agent,可以自动生成包含 MDC 的日志,便于多线程环境中的问题排查。
或许在当下云计算时代,已经很少有人会用到移动硬盘或U盘的经验,亦或者大多数人都没有弹出移动设备后再拨出的习惯。笔者因早年在使用U盘时经历过直接拨出U盘导致其报废的“惨痛”教训,因此对移出设备的操作是铭记于心,万不敢直接拨插移动设备。但就是这个只需点击一次移出设备的操作,很多时候就会让我们有些烦恼,因为它有时候总喜欢和你对着干。这不今天就遇上一件无法解释的诡异现象:移动硬盘无法弹出,尝试过之前的各种妙招后仍是无济于事,最后也只是能祭出万能的关机大法才算是得以解脱。
Nginx日志的分析,尤其是加白,在不是特别清楚功能和作用的情况下,还是应该细粒度的操作,比如先按照Content-Type加白,就比按照domain维度的加白粒度会更细一点,比按照uri来加白要更方便和准确一点。简单记录一下,方便后面有需要的时候参考。
本篇讲讲Kratos日志组件的使用方式。
在服务上线后,我们可以使用日志来观察程序的行为、诊断问题或者配置相应的告警等。定义良好的结构化日志,能够提高日志的检索效率,使处理问题变得更加方便。
通常我们的南北流量的链路是从云的 LB 到服务器的 Nginx 集群,为了利用好 lb 自动检测 Nginx 的功能,通常你会打开健康检查,此时,Nginx 的日志当中就会打印大量的健康检查日志,令人不胜其烦。
iptables 是 Linux 系统中的一个非常强大的防火墙工具,它可以用于过滤、修改、重定向和处理网络数据包。iptables 是基于 Netfilter 框架的,Netfilter 是 Linux 内核的一部分,它提供了在内核级别处理网络数据包的能力。
最近在做一个 Android APP 的日志改造,我搜了一下「Android 日志框架」,大多网友推荐的是 logger、timber、xLog 等等,看着也不错。不过出于几年后端开发的经验和习惯,我进一步了解,发现熟悉的 log4j 和 logback 在 Android 上也有人做过适配,所以最终决定使用 slf4j + logback,以在前后端开发中取得一致的体验。