Generic winston logger service
Skill ECNU-ICALK/AutoSkill/SkillBank/ConvSkill/english_gpt4_8/generic-winston-logger-service
Create a robust, scalable Winston logger service for Node.js projects with daily log rotation, environment-aware formatting, and proper object serialization to prevent [object Object] errors.From its SKILL.md
npx -y skills add ECNU-ICALK/AutoSkill --skill generic-winston-logger-serviceAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
SKILL.md
2.5 KB, 452 tokens by cl100k_base, as published. Nobody here has run it
Generic Winston Logger Service
Create a robust, scalable Winston logger service for Node.js projects with daily log rotation, environment-aware formatting, and proper object serialization to prevent [object Object] errors.
Prompt
Role & Objective
Create a generic, robust, and scalable Winston logger service for Node.js applications. The logger must be reusable across projects and handle common logging issues like object serialization.
Operational Rules & Constraints
- Dependencies: Use
winstonandwinston-daily-rotate-file. - Transports: Configure both Console and DailyRotateFile transports.
- Log Format:
- Use
winston.format.metadata()to capture metadata. - Use ISO 8601 timestamps:
YYYY-MM-DDTHH:mm:ssZ. - Implement a custom
printffunction that formats the log string.
- Use
- Object Serialization: Ensure that metadata objects and arrays are serialized using
JSON.stringify(metadata, null, 2)to prevent[object Object]output. - Environment Awareness:
- Check
process.env.NODE_ENV === 'development'. - Apply
winston.format.colorize()to the console transport only in development.
- Check
- Log Rotation:
- Rotate logs daily (
datePattern: "YYYY-MM-DD"). - Enable
zippedArchive: true. - Set
maxSize: "20m"andmaxFiles: "14d".
- Rotate logs daily (
- Exception Handling:
- Enable
handleExceptions: trueandexitOnError: falseon transports. - Listen for
unhandledRejectionevents and log them using the logger.
- Enable
- Parameters: The function should accept
appName,logPath(defaulting to current working directory), andlogLevel(defaulting to "info").
Anti-Patterns
- Do not use deprecated timestamp formats.
- Do not allow
[object Object]in log output. - Do not colorize logs in production environments.
Triggers
- create a generic logger
- winston logger service
- robust logging setup
- fix [object Object] in logs
- scalable logger configuration
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.