可观测学堂

可观测问答

聚焦概念、架构、排障、价格与选型,一篇解决一个明确问题。

Java 中如何记录未捕获的异常? cover
概念指南

Java 中如何记录未捕获的异常?

Java 记录未捕获异常:实现 Thread.UncaughtExceptionHandler 接口并设为默认处理器,所有未被 try-catch 捕获的异常都会触发记录。本文给出完整实现。

Python 中如何记录未捕获的异常? cover
概念指南

Python 中如何记录未捕获的异常?

Python 记录未捕获异常:设置 sys.excepthook 自定义全局异常处理器,将异常信息写入日志。threading.excepthook 处理子线程异常。本文给出完整实现。

如何阻止 systemd 自动重启 rsyslog 服务? cover
概念指南

如何阻止 systemd 自动重启 rsyslog 服务?

systemd 默认会在 rsyslog 崩溃后自动重启。通过 systemctl edit 创建覆盖配置,修改 Restart 策略即可控制。本文给出具体操作步骤。

Python 中如何测量代码执行花费的时间? cover
概念指南

Python 中如何测量代码执行花费的时间?

Python 测量耗时:time.perf_counter() 精确(推荐)、time.time() 简单、time.monotonic() 单调。本文对比各计时函数的差异和适用场景。

Python 中如何在字符串前面补零? cover
概念指南

Python 中如何在字符串前面补零?

Python 字符串补零用 zfill() 方法:'123'.zfill(5) 得到 '00123'。也可用 f-string 格式化 f"{n:05d}"。本文对比各方法。

如何解析 Apache 日志(提取字段做分析)? cover
概念指南

如何解析 Apache 日志(提取字段做分析)?

解析 Apache 访问日志的方法:命令行工具(awk/grep/sed)快速提取、Python/Go 脚本批量分析、日志平台自动解析。本文对比各种方案。

如何解析 Nginx 日志(提取字段做分析)? cover
概念指南

如何解析 Nginx 日志(提取字段做分析)?

解析 Nginx 访问日志的方法:awk/grep 命令行快速分析、Python 脚本批量处理、日志平台自动解析。本文对比各种方案及常用分析命令。

Python 中函数参数是值传递还是引用传递? cover
概念指南

Python 中函数参数是值传递还是引用传递?

Python 的参数传递是"对象引用传递":可变对象(列表/字典)在函数内修改会影响外部,不可变对象(数字/字符串)不会。本文详解原理和注意事项。

Fluent Bit 的 tail 输入插件丢失日志行怎么办? cover
概念指南

Fluent Bit 的 tail 输入插件丢失日志行怎么办?

Fluent Bit tail 插件漏读日志行通常是因为没有用 inotify 监听文件变化。开启 Inotify_Watcher On 即可实时捕获新行。本文说明原因和配置。

Python 中如何在使用 format/f-string 时输出花括号字符 {}? cover
概念指南

Python 中如何在使用 format/f-string 时输出花括号字符 {}?

Python 字符串中输出字面花括号:format 用 {{ }} 转义;f-string 用 {{ }} 转义。本文介绍各种格式化方式中的花括号转义。

Python 中如何格式化(美化)打印 JSON 数据? cover
概念指南

Python 中如何格式化(美化)打印 JSON 数据?

Python 美化打印 JSON:json.dumps(data, indent=4, ensure_ascii=False)。indent 控制缩进,ensure_ascii=False 保留中文。本文介绍完整用法。

Python 中如何把输出打印到标准错误(stderr)? cover
概念指南

Python 中如何把输出打印到标准错误(stderr)?

Python 输出到 stderr:print(..., file=sys.stderr) 最简洁,sys.stderr.write() 更底层。logging 默认就输出到 stderr。本文介绍各种方式。