logging-best-practices · aj-geddes — скилл для Claude Code: структурные логи
Скилл для настройки логирования: уровни, JSON-формат, контекст, защита PII и централизованный сбор логов.
npx skills add aj-geddes/useful-ai-prompts --skill logging-best-practices -a claude-codeЧто делает logging-best-practices
Скилл описывает, как выстроить логирование в приложении: уровни DEBUG, INFO, WARN, ERROR и FATAL, структурированный вывод в JSON, контекстные поля вроде userId и requestId, обработка персональных данных и централизованный сбор. Внутри — краткий рабочий пример логгера на TypeScript и восемь справочных файлов в каталоге references/: уровни, JSON, контекст, PII, производительность, централизованное логирование, распределённая трассировка и сэмплирование для сервисов с большим потоком запросов.
Отдельный блок — что делать и чего избегать. Советует не писать в продакшене через console.log, не логировать пароли и токены, не ставить DEBUG по умолчанию и не забывать про ротацию файлов, иначе диск забьётся. Для горячих путей предлагает асинхронное логирование и сэмплирование.
Скилл пригодится, когда логи уже есть, но искать в них что-то больно. Установка идёт через npx skills add с флагом под конкретную платформу: для Claude это -a claude-code, для Codex — -a codex, для Cursor — -a cursor. Файл скилла ложится в каталог платформы, например ~/.claude/skills/logging-best-practices/SKILL.md.
Какие задачи решает
- разложить логи по уровням и убрать DEBUG из продакшена
- перевести вывод из строк в JSON-поля
- добавить в каждую запись идентификатор запроса
- вычистить пароли и персональные данные из логов
- настроить ротацию и централизованный сбор
Примеры запросов агенту
- настрой структурированное логирование в этом сервисе по скиллу logging-best-practices
- проверь мой логгер на утечку PII и подскажи, что редактировать
- добавь requestId в логи и сэмплирование для эндпоинта с высоким трафиком
Как установить logging-best-practices
1Через Skills CLI (Vercel)
npx skills add aj-geddes/useful-ai-prompts --skill logging-best-practices -a claude-code2Вручную: положить файлы
~/.claude/skills/logging-best-practices/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/logging-best-practices/
1Через Skills CLI (Vercel)
npx skills add aj-geddes/useful-ai-prompts --skill logging-best-practices -a codex2Вручную: положить файлы
.agents/skills/logging-best-practices/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add aj-geddes/useful-ai-prompts --skill logging-best-practices -a cursor2Вручную: положить файлы
.cursor/skills/logging-best-practices/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install aj-geddes/useful-ai-prompts logging-best-practices2Вручную: положить файлы
.github/skills/logging-best-practices/SKILL.md1Через Skills CLI (Vercel)
npx skills add aj-geddes/useful-ai-prompts --skill logging-best-practices -a gemini-cli2Командой платформы
gemini skills install https://github.com/aj-geddes/useful-ai-prompts --path skills/logging-best-practicesВручную: положить файлы
.devin/skills/logging-best-practices/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add aj-geddes/useful-ai-prompts --skill logging-best-practices -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Из того же набора118
Другие версии logging-best-practices
Похожие
Рядом в теме «DevOps и инфраструктура»
Всё по теме «DevOps и инфраструктура» →Вопросы о logging-best-practices
Как установить logging-best-practices в Claude?
Выполните npx skills add aj-geddes/useful-ai-prompts --skill logging-best-practices -a claude-code. Скилл появится в ~/.claude/skills/logging-best-practices/SKILL.md.
Что делает logging-best-practices?
Помогает настроить логирование: уровни, JSON-формат, контекстные поля, защиту персональных данных и централизованный сбор. Внутри есть пример логгера на TypeScript и справочные файлы по каждой теме.
С какими платформами работает скилл?
Кроме Claude он ставится в Codex, Cursor, GitHub Copilot, Gemini CLI и OpenCode — у каждой платформы своя команда установки.
Исходный текст
SKILL.md · MIT
---
name: logging-best-practices
description: >
Implement structured logging with JSON formats, log levels (DEBUG, INFO, WARN,
ERROR), contextual logging, PII handling, and centralized logging. Use for
logging, observability, log levels, structured logs, or debugging.
---
# Logging Best Practices
## Table of Contents
- [Overview](#overview)
- [When to Use](#when-to-use)
- [Quick Start](#quick-start)
- [Reference Guides](#reference-guides)
- [Best Practices](#best-practices)
## Overview
Comprehensive guide to implementing structured, secure, and performant logging across applications. Covers log levels, structured logging formats, contextual information, PII protection, and centralized logging systems.
## When to Use
- Setting up application logging infrastructure
- Implementing structured logging
- Configuring log levels for different environments
- Managing sensitive data in logs
- Setting up centralized logging
- Implementing distributed tracing
- Debugging production issues
- Compliance with logging regulations
## Quick Start
Minimal working example:
```typescript
// logger.ts
enum LogLevel {
DEBUG = 0, // Detailed information for debugging
INFO = 1, // General informational messages
WARN = 2, // Warning messages, potentially harmful
ERROR = 3, // Error messages, application can continue
FATAL = 4, // Critical errors, application must stop
}
class Logger {
constructor(private minLevel: LogLevel = LogLevel.INFO) {}
debug(message: string, context?: object) {
if (this.minLevel <= LogLevel.DEBUG) {
this.log(LogLevel.DEBUG, message, context);
}
}
info(message: string, context?: object) {
if (this.minLevel <= LogLevel.INFO) {
this.log(LogLevel.INFO, message, context);
}
}
warn(message: string, context?: object) {
// ... (see reference guides for full implementation)
```
## Reference Guides
Detailed implementations in the `references/` directory:
| Guide | Contents |
|---|---|
| [Log Levels](references/log-levels.md) | Log Levels |
| [Structured Logging (JSON)](references/structured-logging-json.md) | Structured Logging (JSON) |
| [Contextual Logging](references/contextual-logging.md) | Contextual Logging |
| [PII and Sensitive Data Handling](references/pii-and-sensitive-data-handling.md) | PII and Sensitive Data Handling |
| [Performance Logging](references/performance-logging.md) | Performance Logging |
| [Centralized Logging](references/centralized-logging.md) | Centralized Logging |
| [Distributed Tracing](references/distributed-tracing.md) | Distributed Tracing |
| [Log Sampling (High-Volume Services)](references/log-sampling-high-volume-services.md) | Log Sampling (High-Volume Services) |
## Best Practices
### ✅ DO
- Use structured logging (JSON) in production
- Include correlation/request IDs in all logs
- Log at appropriate levels (don't overuse DEBUG)
- Redact sensitive data (PII, passwords, tokens)
- Include context (userId, requestId, etc.)
- Log errors with full stack traces
- Use centralized logging in distributed systems
- Set up log rotation to manage disk space
- Monitor log volume and costs
- Use async logging for performance
- Include timestamps in ISO 8601 format
- Log business events (user actions, transactions)
- Set up alerts for error patterns
### ❌ DON'T
- Log passwords, tokens, or sensitive data
- Use console.log in production
- Log at DEBUG level in production by default
- Log inside tight loops (use sampling)
- Include PII without anonymization
- Ignore log rotation (disk will fill up)
- Use synchronous logging in hot paths
- Log to multiple transports without need
- Forget to include error stack traces
- Log binary data or large objects
- Use string concatenation (use structured fields)
- Log every single request in high-volume APIs
© aj-geddes · MIT · aj-geddes/useful-ai-prompts