Skip to content
ln-771-logging-configurator logo

Ln 771 Logging Configurator

ln-771-logging-configurator

Configures structured logging (Serilog/.NET, structlog/Python)

SKILL.md

Full skill instructions

ln-771-logging-configurator

Type: L3 Worker Category: 7XX Project Bootstrap Parent: ln-770-crosscutting-setup

Configures structured JSON logging for .NET and Python projects.


Overview

AspectDetails
InputContext Store from ln-770
OutputLogging configuration files
Stacks.NET (Serilog), Python (structlog)

Phase 1: Receive Context

Accept Context Store from coordinator.

Required Context:

  • STACK: .NET or Python
  • FRAMEWORK: ASP.NET Core or FastAPI
  • FRAMEWORK_VERSION: Version number
  • PROJECT_ROOT: Project directory path
  • ENVIRONMENT: Development or Production

Validation:

  • If STACK not provided, detect from project files
  • If version not provided, use latest stable

Phase 2: Research Current Best Practices

Use MCP tools to get up-to-date documentation.

For .NET (Serilog):

MCP ref: "Serilog ASP.NET Core structured logging configuration"
Context7: /​serilog/​serilog-aspnetcore

For Python (structlog):

MCP ref: "structlog Python structured logging configuration"
Context7: /​hynek/​structlog

Key Patterns to Research:

  1. Request logging middleware
  2. Log enrichment (correlation ID, user context)
  3. Log level configuration by environment
  4. Sink configuration (Console, File, Seq, Elastic)

Phase 3: Decision Points

Ask user for configuration preferences.

Q1: Log Format

OptionWhen to Use
JSON (Recommended for Production)Machine-readable, log aggregation systems
Pretty/​Colored (Recommended for Development)Human-readable, local debugging

Q2: Enrichment Fields

FieldDescriptionDefault
correlationIdRequest tracking across services✓ Yes
userIdAuthenticated user identifier✓ Yes
requestPathHTTP request path✓ Yes
responseTimeRequest duration in ms✓ Yes
machineNameServer hostnameOptional
threadIdThread identifierOptional

Q3: Log Sinks

SinkUse Case
ConsoleAlways enabled
FileLocal persistence, log rotation
SeqStructured log server
ElasticsearchLog aggregation at scale

Q4: Log Levels by Environment

LevelDevelopmentProduction
DefaultDebugInformation
Microsoft.*InformationWarning
System.*InformationWarning
ApplicationDebugInformation

Phase 4: Generate Configuration

Generate files based on stack and decisions.

.NET Output Files

FilePurpose
Extensions/​LoggingExtensions.csService registration
appsettings.json (update)Serilog configuration
appsettings.Development.json (update)Dev overrides

Generation Process:

  1. Use MCP ref to get current Serilog API
  2. Generate LoggingExtensions.cs with:
    • UseSerilog configuration
    • Request logging middleware
    • Enrichment configuration
  3. Update appsettings.json with Serilog section

Packages to Add:

  • Serilog.AspNetCore
  • Serilog.Sinks.Console
  • Serilog.Sinks.File (if File sink selected)
  • Serilog.Enrichers.Environment (if machineName selected)

Python Output Files

FilePurpose
core/​logging_config.pystructlog configuration
middleware/​logging_middleware.pyRequest logging

Generation Process:

  1. Use MCP ref to get current structlog API
  2. Generate logging_config.py with:
    • Processor chain configuration
    • Renderer selection (JSON/​Console)
    • Log level configuration
  3. Generate logging_middleware.py for FastAPI

Packages to Add:

  • structlog
  • python-json-logger (if JSON format)

Phase 5: Validate

Verify the configuration works.

Validation Steps:

  1. Check imports: Ensure all packages are available

    • .NET: dotnet list package | grep Serilog
    • Python: pip list | grep structlog
  2. Syntax check:

    • .NET: dotnet build --no-restore
    • Python: python -m py_compile core/​logging_config.py
  3. Test log output:

    • Start application
    • Make test request
    • Verify log format matches configuration

Expected Log Format:

{
  "timestamp": "2026-01-10T12:00:00.000Z",
  "level": "info",
  "message": "Request completed",
  "correlationId": "abc-123",
  "requestPath": "/​api/​health",
  "responseTime": 45,
  "statusCode": 200
}

Return to Coordinator

Return result to ln-770:

{
  "status": "success",
  "files_created": [
    "Extensions/​LoggingExtensions.cs",
    "appsettings.json"
  ],
  "packages_added": [
    "Serilog.AspNetCore",
    "Serilog.Sinks.Console"
  ],
  "registration_code": "services.AddLoggingServices(configuration);",
  "message": "Configured structured logging with Serilog"
}

Idempotency

This skill is idempotent:

  • Phase 1: Check if logging already configured (Grep for Serilog/​structlog)
  • If configured: Return { "status": "skipped", "message": "Logging already configured" }
  • If not: Proceed with configuration

Reference Links


Version: 2.0.0 Last Updated: 2026-01-10

More skills from majiayu000

xiaohongshu logo
majiayu000/claude-arsenal

xiaohongshu

xiaohongshu

286 148
View
agent-task-conductor logo
majiayu000/claude-skill-registry

agent-task-conductor

Conduct multi-agent task orchestration and workflow coordination.

663 1
View
conductor-setup logo
majiayu000/claude-skill-registry

conductor-setup

Initialize project with Conductor artifacts (product definition,

663 1
View
animation-designer logo
majiayu000/claude-skill-registry

animation-designer

Expert in web animations, transitions, and motion design using Framer Motion and CSS

663 1
View
diagramming logo
majiayu000/claude-skill-registry

diagramming

Creates Mermaid and ASCII diagrams for flowcharts, architecture, ERDs, state machines, mindmaps, and more. Use when user mentions diagram, flowchart, mermaid, ASCII diagram, text diagram, terminal diagram, visualize, C4, mindmap, architecture diagram, sequence diagram, ERD, or needs visual docume...

663 1
View
h3-pg logo
majiayu000/claude-skill-registry-data

h3-pg

PostgreSQL bindings for H3 hexagonal grid system. Use when working with H3 cells in Postgres, including spatial indexing, geometry/geography integration, and raster analysis.

23 1
View
conductor-development logo
majiayu000/claude-skill-registry

conductor-development

Context-Driven Development skill for projects using Conductor. Use this skill when you detect a `conductor/` directory in the project, when working on tasks defined in a `plan.md` file, or when the user asks about tracks, specs, or plans. Automatically applies TDD workflow, tracks task completion...

663 1
View
conductor-status logo
majiayu000/claude-skill-registry

conductor-status

Display project status, active tracks, and next actions

663 1
View
dockerization logo
majiayu000/claude-skill-registry

dockerization

Official Stakpak application containerization standard operating procedure, a step-by-step guidline to properly dockerize applications. This is a rule book curated by the Stakpak Team.

663 1
View

Popular AI tools

Kaiber logo
Video

Kaiber

Generate, edit, and beat-sync AI video with leading models in one workspace.

Paid
View
Vimcal logo
Productivity

Vimcal

The world's fastest calendar for remote work

Free
View

Transform Your Design with AI Designer by ImgCreator.ai

Freemium
View
Akool AI logo
Content & writing

Akool AI

Revolutionizing Video Production with AI-Powered Creativity

Paid
View

Extend an image past the frame and let AI fill the new aspect ratio.

Freemium
View
StarByFace logo
Security

StarByFace

Discover your celebrity doppelgänger with StarByFace!

Free
View
C

ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.

Freemium
View
Opus Clip logo
Coding & apps

Opus Clip

Opus.ai: Revolutionize Your Web Experience

Free
View