可观测学堂

可观测问答

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

Redis 如何记录所有命令或慢查询? cover
概念指南

Redis 如何记录所有命令或慢查询?

Redis 记录慢命令:slowlog-log-slower-than 设微秒阈值,SLOWLOG GET 查看;MONITOR 命令实时查看所有命令(生产慎用)。本文介绍两种方法及注意事项。

如何记录 Python requests 库发出的所有 HTTP 请求? cover
概念指南

如何记录 Python requests 库发出的所有 HTTP 请求?

记录 requests 的请求详情:把 urllib3 的 logger 级别设为 DEBUG,配合 HTTPConnection.debuglevel=1 可以看到请求/响应头和 body。本文介绍配置方法及注意事项。

如何记录 cron 定时任务的执行日志? cover
概念指南

如何记录 cron 定时任务的执行日志?

记录 cron 日志的核心:在命令尾部加 >> /path/to/logfile 2>&1 重定向输出到文件,配 logrotate 做轮转。也可用 logger 命令写入 syslog。

Python 中如何以 JSON 格式输出日志? cover
概念指南

Python 中如何以 JSON 格式输出日志?

Python 输出 JSON 格式日志的方法:json-logging 库、python-json-logger 库、或自定义 logging.Formatter。本文对比三种方案及各自的适用场景。

Laravel 中如何以 JSON 格式记录日志? cover
概念指南

Laravel 中如何以 JSON 格式记录日志?

Laravel 底层使用 Monolog,通过在 config/logging.php 中创建自定义 channel 并指定 JSON formatter 实现 JSON 日志输出。本文给出完整配置步骤。

如何把浏览器端的 JavaScript 错误采集到 Kibana? cover
概念指南

如何把浏览器端的 JavaScript 错误采集到 Kibana?

采集前端 JS 错误到 Kibana 的流程:浏览器端捕获错误 → 发送到日志收集端 → 写入 Elasticsearch → Kibana 展示。本文介绍完整方案及观测云 RUM 的替代方案。

PostgreSQL 如何记录所有执行的 SQL 查询? cover
概念指南

PostgreSQL 如何记录所有执行的 SQL 查询?

PostgreSQL 记录所有查询:postgresql.conf 中设 log_statement = 'all' 并开启 logging_collector。

Ruby 中如何实现日志轮转(Log Rotation)? cover
概念指南

Ruby 中如何实现日志轮转(Log Rotation)?

Ruby 日志轮转:Logger.new 支持按天/周/月轮转('daily'/'weekly'/'monthly')或按大小轮转(保留个数, 大小)。本文介绍内置方案和 logrotate 配合。

Python 中如何同时把日志输出到文件和控制台? cover
概念指南

Python 中如何同时把日志输出到文件和控制台?

Python 同时输出日志到文件和控制台:创建两个 Handler——FileHandler 写文件、StreamHandler 打控制台,添加到同一个 Logger。本文给出完整配置示例。

Ruby 中如何同时把日志输出到文件和控制台? cover
概念指南

Ruby 中如何同时把日志输出到文件和控制台?

Ruby 同时输出到文件和控制台:创建两个 Logger 实例分别输出,或封装一个多路 Logger 类统一调用。本文给出两种实现方案。

Python 中如何把日志输出到标准输出(stdout)? cover
概念指南

Python 中如何把日志输出到标准输出(stdout)?

Python logging 默认输出到 stderr。输出到 stdout 需要显式创建 StreamHandler(sys.stdout)。本文介绍配置方法及容器环境的最佳实践。

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

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

C# 记录未捕获异常:订阅 AppDomain.UnhandledException 事件记录全局异常,TaskScheduler.UnobservedTaskException 处理异步任务异常。本文给出完整实现。