mcpField
A
application-logging

application-logging

github.com/aj-geddes开发373498 次安装34 周前更新
代码仓库

关于 application-logging

一项用于实现结构化应用日志的技能,涵盖适当的日志级别、上下文信息和集中聚合。提供调试、监控、审计及合规场景所需的指南和示例。

主要功能

  1. 01结构化 JSON 日志
  2. 02日志级别、时间戳和错误上下文
  3. 03用于追踪的请求 ID
  4. 04日志轮转与集中聚合
  5. 05敏感数据过滤

适用场景

  1. 01调试应用错误
  2. 02创建审计轨迹
  3. 03分析性能
  4. 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.md
express-http-request-logging.md
flask-integration.md
logstash-configuration.md
nodejs-structured-logging-with-winston.md
python-structured-logging.md
scripts/
validate-api.sh
templates/
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