可观测学堂

可观测问答

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

Django 跑单元测试时如何禁用日志输出? cover
概念指南

Django 跑单元测试时如何禁用日志输出?

Django 测试时静音日志的三种方式:logging.disable(logging.CRITICAL) 全局开关、在 settings.py 中判断 test 命令自动禁用、用 logging filter 精细控制。

Python Web 应用中如何关闭 HTTP 请求日志? cover
概念指南

Python Web 应用中如何关闭 HTTP 请求日志?

Flask/Django/FastAPI 等框架默认记录每个 HTTP 请求。

Logstash 中如何处理 Tab(制表符)分隔的 CSV 数据? cover
概念指南

Logstash 中如何处理 Tab(制表符)分隔的 CSV 数据?

Logstash 的 csv 插件中 "\t" 不会被解析为制表符,必须在配置文件里输入真实的 Tab 字符。本文说明正确写法及注意事项。

Python 中如何执行外部程序或系统命令? cover
概念指南

Python 中如何执行外部程序或系统命令?

Python 执行系统命令推荐 subprocess.run()(官方推荐,安全可靠),避免使用过时的 os.system()。本文介绍 subprocess.run 的用法、获取输出和安全注意事项。

如何退出(deactivate)Python 虚拟环境? cover
概念指南

如何退出(deactivate)Python 虚拟环境?

退出 Python 虚拟环境只需运行 deactivate 命令,或直接关闭终端。本文说明 deactivate 的用法及重新激活方法。

Python 中如何从文件名提取扩展名? cover
概念指南

Python 中如何从文件名提取扩展名?

提取文件扩展名推荐 os.path.splitext()(返回带点扩展名)或 pathlib 的 Path.suffix 属性。本文对比两种标准做法及字符串切片的局限性。

编译报错 "fatal error: Python.h: No such file or directory" 怎么解决? cover
概念指南

编译报错 "fatal error: Python.h: No such file or directory" 怎么解决?

Python.h 找不到是因为缺少 Python 开发头文件包。Ubuntu/Debian 装 python3-dev,CentOS/RHEL 装 python3-devel,macOS 一般自带。本文给出各系统解决方案。

Python 中如何展平(flatten)嵌套列表? cover
概念指南

Python 中如何展平(flatten)嵌套列表?

展平二维列表最简洁的写法是列表推导式 [x for sub in l for x in sub]。本文介绍推导式、itertools.chain、sum 技巧及多层嵌套的递归方案。

Python 中如何让 print 的输出立即显示(flush)? cover
概念指南

Python 中如何让 print 的输出立即显示(flush)?

print 默认行缓冲或块缓冲,输出可能延迟。三种立即刷新方式:print(..., flush=True)、sys.stdout.flush()、python -u 无缓冲模式运行。

如何强制 Logstash 从头重新解析一个文件? cover
概念指南

如何强制 Logstash 从头重新解析一个文件?

让 Logstash 重新读取整个文件:设置 sincedb_path => "/dev/null" 且 start_position => "beginning",或删除 sincedb 文件后重启。本文说明原理与操作步骤。

Filebeat 5 中如何强制重新读取(重建)日志数据? cover
概念指南

Filebeat 5 中如何强制重新读取(重建)日志数据?

让 Filebeat 重新处理日志文件:停止 Filebeat、删除 registry 注册表文件、重新启动。本文介绍操作步骤及 clean_removed 等相关配置。

Ruby 中如何自定义日志消息的格式? cover
概念指南

Ruby 中如何自定义日志消息的格式?

Ruby 的 Logger 类通过设置 formatter(proc)自定义日志格式,可控制时间格式、级别、消息排版。本文给出完整示例及常用格式字段说明。