j4flmao/agent_skills_nodejs_nestjs

logging-and-observability

Adds structured JSON logging, correlation/trace IDs, metrics, and health endpoints.

Voir la source

Mode d’emploi

  1. Copiez la commande et examinez le paquet avant de l’installer dans votre environnement agent.
  2. Consultez le document original pour les outils, identifiants et environnements requis.
  3. Décrivez les entrées et le livrable souhaité ; comparez la sortie aux sources.
npx skills add https://github.com/j4flmao/agent_skills_nodejs_nestjs --skill logging-and-observability

Avant de commencer

  • L’installation n’inclut ni abonnement au modèle, ni quota API, ni accès aux fichiers.
  • Étoiles et installations reflètent l’activité, pas un test indépendant de qualité ou de sécurité.
Document Skill original

Rendu depuis le dépôt source en conservant titres, exemples, code, tableaux, liens et images.

Logging and Observability

When to use

  • Wiring observability for a new service
  • Debugging cross-service requests
  • Removing console.log from production code

Core rules

  1. Structured JSON logs in production, pretty in development
  2. Every log entry has timestamp, level, message, traceId
  3. No console.log in production code
  4. Correlation/trace ID passed through async context
  5. Health endpoint (/health) and readiness endpoint (/ready)

Reference shape (TypeScript)

Logger Interface (Port)

typescript
export interface Logger {
  info(message: string, meta?: Record<string, unknown>): void;
  warn(message: string, meta?: Record<string, unknown>): void;
  error(message: string, meta?: Record<string, unknown>): void;
  debug(message: string, meta?: Record<string, unknown>): void;
}

JSON Logger Implementation

typescript
export class JsonLogger implements Logger {
  constructor(private traceId?: string) {}

  info(message: string, meta?: Record<string, unknown>): void {
    this.log('info', message, meta);
  }

  private log(level: string, message: string, meta?: Record<string, unknown>): void {
    const entry = {
      timestamp: new Date().toISOString(),
      level,
      message,
      traceId: this.traceId,
      ...meta,
    };
    console.log(JSON.stringify(entry));
  }
}

Examples — Do

typescript
this.logger.info('User created', { userId: user.id, email: user.email.value });

Examples — Don't

typescript
// ❌ Console.log in production code
console.log('User created:', user);
// ❌ No trace ID
logger.info('Request processed');

Checklist

  • [ ] Structured JSON logger implemented
  • [ ] Trace/correlation ID in every log entry
  • [ ] Health and readiness endpoints created
  • [ ] No console.log in production code

See reference/logging-patterns.md for full patterns.

Tâches connexes

du même dépôt

Autres Skills

Tous les Skills