К основному содержанию
скилл CX Codex

logging-best-practices · secondsky — скилл для Claude Code: структурные логи

Скилл задаёт агенту правила структурного логирования: уровни, контекст запроса, маскировка персональных данных. Пригодится, когда логи пухнут или в них утекают пароли.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add secondsky/claude-skills --skill logging-best-practices -a claude-code
Открыть на GitHub

Что делает logging-best-practices

Скилл описывает, как писать логи в приложении: таблица уровней от DEBUG до FATAL с пометкой, что включать в продакшене, примеры на Winston с JSON-форматом и отдельным файлом для ошибок, контекст запроса через AsyncLocalStorage с requestId и userId, функция sanitize для полей вроде password, ssn, creditCard, token и маскировка email.

Внутри есть раздел с тем, чего делать не стоит: логировать пароли и токены, оставлять console.log в продакшене, писать логи внутри тесных циклов, отдавать стек-трейс на клиентские ошибки. Отдельный файл references/advanced-logging.md разбирает Python structlog, Go zap, ELK, AWS CloudWatch и OpenTelemetry.

Примеры кода в скилле на JavaScript, так что для Python или Go придётся идти в справочник и переносить идеи руками. Уровень по умолчанию — info через LOG_LEVEL, и это стоит проверить до выката: если переменная не задана, DEBUG-логи в продакшене всё равно не появятся, но и нужный уровень вы не переключите.

Какие задачи решает

  • разложить сообщения по уровням и убрать DEBUG из продакшена
  • добавить requestId и userId в каждую запись лога
  • вычистить пароли, токены и email перед записью
  • настроить ротацию и отдельный файл под ошибки
  • связать логи нескольких сервисов через correlation ID

Примеры запросов агенту

  • Настрой структурное логирование в этом сервисе по скиллу logging-best-practices
  • Добавь контекст запроса в логи через AsyncLocalStorage, как в скилле
  • Проверь логи на PII и замаскируй чувствительные поля

Как установить logging-best-practices

1Через Skills CLI (Vercel)

npx skills add secondsky/claude-skills --skill logging-best-practices -a claude-code

2Вручную: положить файлы

~/.claude/skills/logging-best-practices/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/logging-best-practices/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Из того же набора89

mobile-offline-support Скилл для офлайн-первого подхода в мобильных приложениях: локальное хранилище, очередь синхронизации, разрешение конфликтов. CX Codex +1 398установок api-versioning-strategy Помогает выбрать способ версионирования API и провести старую версию до отключения без сюрпризов для клиентов. CX Codex +1 399установок bun-hot-reloading Скилл подсказывает агенту, как настроить горячую перезагрузку в Bun: режимы --watch и --hot, HMR и перезапуск HTTP-сервера. CX Codex +1 395установок claude-hook-writer Скилл-наставник по хукам Claude: проверяет дизайн, подсказывает безопасные паттерны и разбирает частые промахи. CX Codex +1 397установок bun-react-ssr Скилл для сборки серверного React на Bun: renderToString, стриминг, гидратация и свой роутер без фреймворка. CX Codex +1 395установок cloudflare-manager Скилл управляет аккаунтом Cloudflare из чата: разворачивает Workers, создаёт KV и R2, публикует Pages, настраивает DNS. CX Codex +1 393установок plan-interview Превращает черновой план в готовую к работе спецификацию через адаптивное интервью. Пригодится, когда идея есть, а требований пока нет. CX Codex +1 395установок bun-websocket-server Скилл с готовыми паттернами для WebSocket-сервера на Bun: обработчики, pub/sub, broadcast. Пригодится, когда нужен чат или стриминг в реальном времени. CX Codex +1 394установок

Другие версии logging-best-practices

Похожие

application-logging aj-geddes Скилл для настройки структурного логирования в приложениях: уровни, контекст, централизованный сбор и разбор логов. CX Codex +1 496установок logging codewithmukesh Скилл про наблюдаемость в .NET 10: разводит liveness и readiness, прокидывает correlation ID и задаёт уровни логов. CX Codex +1 2 800установок review-logging-patterns HugoRCD Скилл разбирает логирование в TypeScript-проекте: находит console.log-спам, ошибки без контекста и предлагает перейти на evlog. CX Codex +1 750установок observability-and-instrumentation addyosmani Скилл учит агента добавлять структурированные логи, метрики и трейсы в код до деплоя. Пригодится при выпуске новых эндпоинтов, фоновых задач и интеграций. CX Codex +1 54 800установок otel-instrumentation dash0 Помогает агенту расставить спаны, метрики и логи OpenTelemetry так, чтобы телеметрия отвечала на вопросы, а не жгла бюджет. CX Codex +1 972установок security-audit-logging aj-geddes Скилл помогает настроить аудит-логи безопасности: события, действия пользователей, изменения в системе. Пригодится, когда нужны журналы для комплаенса или разбора инцидентов. CX Codex +1 561установок

Рядом в теме «Бэкенд и API»

Всё по теме «Бэкенд и API» →

Вопросы о logging-best-practices

Как установить logging-best-practices в Claude?

Выполните npx skills add secondsky/claude-skills --skill logging-best-practices -a claude-code. После этого файл скилла появится по пути ~/.claude/skills/logging-best-practices/SKILL.md.

Что делает logging-best-practices?

Описывает агенту, как вести логи: какие уровни использовать, как прокидывать контекст запроса, как маскировать персональные данные и что в логи писать нельзя.

Скилл работает только с JavaScript?

Основные примеры на Winston и AsyncLocalStorage, то есть JavaScript. Для Python structlog, Go zap, ELK, CloudWatch и OpenTelemetry в скилле есть отдельный справочный файл.

Исходный текст

SKILL.md · MIT
---
name: logging-best-practices
description: Structured logging with proper levels, context, PII handling, centralized aggregation. Use for application logging, log management integration, distributed tracing, or encountering log bloat, PII exposure, missing context errors.
license: MIT
---

# Logging Best Practices

Implement secure, structured logging with proper levels and context.

## Log Levels

| Level | Use For | Production |
|-------|---------|------------|
| DEBUG | Detailed debugging | Off |
| INFO | Normal operations | On |
| WARN | Potential issues | On |
| ERROR | Errors with recovery | On |
| FATAL | Critical failures | On |

## Structured Logging (Winston)

```javascript
const winston = require('winston');

const logger = winston.createLogger({
  level: process.env.LOG_LEVEL || 'info',
  format: winston.format.combine(
    winston.format.timestamp(),
    winston.format.json()
  ),
  defaultMeta: { service: 'api-service' },
  transports: [
    new winston.transports.Console(),
    new winston.transports.File({ filename: 'error.log', level: 'error' })
  ]
});

// Usage
logger.info('User logged in', { userId: '123', ip: '192.168.1.1' });
logger.error('Payment failed', { error: err.message, orderId: '456' });
```

## Request Context

```javascript
const { AsyncLocalStorage } = require('async_hooks');
const storage = new AsyncLocalStorage();

app.use((req, res, next) => {
  const context = {
    requestId: req.headers['x-request-id'] || uuid(),
    userId: req.user?.id
  };
  storage.run(context, next);
});

function log(level, message, meta = {}) {
  const context = storage.getStore() || {};
  logger.log(level, message, { ...context, ...meta });
}
```

## PII Sanitization

```javascript
const sensitiveFields = ['password', 'ssn', 'creditCard', 'token'];

function sanitize(obj) {
  const sanitized = { ...obj };
  for (const field of sensitiveFields) {
    if (sanitized[field]) sanitized[field] = '[REDACTED]';
  }
  if (sanitized.email) {
    sanitized.email = sanitized.email.replace(/(.{2}).*@/, '$1***@');
  }
  return sanitized;
}
```

## Best Practices

- Use structured JSON format
- Include correlation IDs across services
- Sanitize all PII before logging
- Use async logging for performance
- Implement log rotation
- Never log at DEBUG in production

## Additional Implementations

See [references/advanced-logging.md](references/advanced-logging.md) for:
- Python structlog setup
- Go zap high-performance logging
- ELK Stack integration
- AWS CloudWatch configuration
- OpenTelemetry tracing

## Never Do

- Log passwords or tokens
- Use console.log in production
- Log inside tight loops
- Include stack traces for client errors

© secondsky · MIT · secondsky/claude-skills

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой