关于 application-logging
一项用于实现结构化应用日志的技能,涵盖适当的日志级别、上下文信息和集中聚合。提供调试、监控、审计及合规场景所需的指南和示例。
主要功能
- 01结构化 JSON 日志
- 02日志级别、时间戳和错误上下文
- 03用于追踪的请求 ID
- 04日志轮转与集中聚合
- 05敏感数据过滤
适用场景
- 01调试应用错误
- 02创建审计轨迹
- 03分析性能
- 04为监控或合规集中聚合日志
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ aj-geddes/ useful-ai-prompts --skill application-logging安装后在 Claude Code 中输入/application-logging确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/elk-stack-setup.mdexpress-http-request-logging.mdflask-integration.mdlogstash-configuration.mdnodejs-structured-logging-with-winston.mdpython-structured-logging.mdscripts/validate-api.shtemplates/api-scaffold.yaml详细介绍
应用日志记录
目录
概述
通过适当的级别、上下文和集中式聚合,实现全面的结构化日志记录,以便有效调试和监控。
适用场景
- 应用调试
- 创建审计跟踪
- 性能分析
- 合规要求
- 集中式日志聚合
快速开始
最精简的可运行示例:
// logger.js
const winston = require("winston");
const logFormat = winston.format.combine(
winston.format.timestamp({ format: "YYYY-MM-DD HH:mm:ss" }),
winston.format.errors({ stack: true }),
winston.format.json(),
);
const logger = winston.createLogger({
level: process.env.LOG_LEVEL || "info",
format: logFormat,
defaultMeta: {
service: "api-service",
environment: process.env.NODE_ENV || "development",
},
transports: [
new winston.transports.Console({
format: winston.format.combine(
winston.format.colorize(),
winston.format.simple(),
),
}),
new winston.transports.File({
filename: "logs/error.log",
// ... (see reference guides for full implementation)
参考指南
references/ 目录中的详细实现:
| 指南 | 内容 |
|---|---|
| 使用 Winston 实现 Node.js 结构化日志 | 使用 Winston 实现 Node.js 结构化日志 |
| Express HTTP 请求日志记录 | Express HTTP 请求日志记录 |
| Python 结构化日志 | Python 结构化日志 |
| Flask 集成 | Flask 集成 |
| ELK Stack 设置 | ELK Stack 设置 |
| Logstash 配置 | Logstash 配置 |
最佳实践
✅ 应该做
- 使用结构化 JSON 日志
- 添加请求 ID 以便追踪
- 选择适当的日志级别
- 为错误日志添加上下文
- 实施日志轮转
- 统一使用时间戳
- 集中聚合日志
- 过滤敏感数据
❌ 不要做
- 记录密码或密钥
- 每项操作都使用 INFO 级别记录
- 使用非结构化消息
- 忽略日志存储限制
- 跳过上下文信息
- 在生产环境中写入 stdout
- 创建无限增长的日志文件
评论
支持 Markdown