About application-logging
A skill for implementing structured application logging with suitable levels, context, and centralized aggregation. It provides guidance and examples for debugging, monitoring, auditing, and compliance needs.
Key features
- 01Structured JSON logging
- 02Log levels, timestamps, and error context
- 03Request IDs for tracing
- 04Log rotation and centralized aggregation
- 05Sensitive-data filtering
Use cases
- 01Debugging application errors
- 02Creating audit trails
- 03Analyzing performance
- 04Aggregating logs for monitoring or compliance
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ aj-geddes/ useful-ai-prompts --skill application-loggingAfter installing, type/application-loggingin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
references/elk-stack-setup.mdexpress-http-request-logging.mdflask-integration.mdlogstash-configuration.mdnodejs-structured-logging-with-winston.mdpython-structured-logging.mdscripts/validate-api.shtemplates/api-scaffold.yamlDetails
From the project READMEApplication Logging
Table of Contents
Overview
Implement comprehensive structured logging with proper levels, context, and centralized aggregation for effective debugging and monitoring.
When to Use
- Application debugging
- Audit trail creation
- Performance analysis
- Compliance requirements
- Centralized log aggregation
Quick Start
Minimal working example:
// 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)
Reference Guides
Detailed implementations in the references/ directory:
| Guide | Contents |
|---|---|
| Node.js Structured Logging with Winston | Node.js Structured Logging with Winston |
| Express HTTP Request Logging | Express HTTP Request Logging |
| Python Structured Logging | Python Structured Logging |
| Flask Integration | Flask Integration |
| ELK Stack Setup | ELK Stack Setup |
| Logstash Configuration | Logstash Configuration |
Best Practices
✅ DO
- Use structured JSON logging
- Include request IDs for tracing
- Log at appropriate levels
- Add context to error logs
- Implement log rotation
- Use timestamps consistently
- Aggregate logs centrally
- Filter sensitive data
❌ DON'T
- Log passwords or secrets
- Log at INFO for every operation
- Use unstructured messages
- Ignore log storage limits
- Skip context information
- Log to stdout in production
- Create unbounded log files
Comments
Markdown supported