Specify a webhook-driven task for OpenClaw
Describe event inputs, validation, deduplication, and intended actions before integration work.
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.
--- id: "00a946f0-d1d2-4d6a-a069-5910fcc30478" name: generic-winston-logger-service-164eff57bc19 description: "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." version: "0.1.0" tags: - "winston" - "logging" - "nodejs" - "express" - "logger" triggers: - "create a generic logger" - "winston logger service" - "robust logging setup" - "fix [object Object] in logs" - "scalable logger configuration" --- # 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 1. **Dependencies**: Use `winston` and `winston-daily-rotate-file`. 2. **Transports**: Configure both Console and DailyRotateFile transports. 3. **Log Format**: - Use `winston.format.metadata()` to capture metadata. - Use ISO 8601 timestamps: `YYYY-MM-DDTHH:mm:ssZ`. - Implement a custom `printf` function that formats the log string. 4. **Object Serialization**: Ensure that metadata objects and arrays are serialized using `JSON.stringify(metadata, null, 2)` to prevent `[object Object]` output. 5. **Environment Awareness**: - Check `process.env.NODE_ENV === 'development'`. - Apply `winston.format.colorize()` to the console transport only in development. 6. **Log Rotation**: - Rotate logs daily (`datePattern: "YYYY-MM-DD"`). - Enable `zippedArchive: true`. - Set `maxSize: "20m"` and `maxFiles: "14d"`. 7. **Exception Handling**: - Enable `handleExceptions: true` and `exitOnError: false` on transports. - Listen for `unhandledRejection` events and log them using the logger. 8. **Parameters**: The function should accept `appName`, `logPath` (defaulting to current working directory), and `logLevel` (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--- id: "00a946f0-d1d2-4d6a-a069-5910fcc30478" name: generic-winston-logger-service-164eff57bc19 description: "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." version: "0.1.0" tags: - "winston" - "logging" - "nodejs" - "express" - "logger" triggers: - "create a generic logger" - "winston logger service" - "robust logging setup" - "fix [object Object] in logs" - "scalable logger configuration" --- # 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 1. **Dependencies**: Use `winston` and `winston-daily-rotate-file`. 2. **Transports**: Configure both Console and DailyRotateFile transports. 3. **Log Format**: - Use `winston.format.metadata()` to capture metadata. - Use ISO 8601 timestamps: `YYYY-MM-DDTHH:mm:ssZ`. - Implement a custom `printf` function that formats the log string. 4. **Object Serialization**: Ensure that metadata objects and arrays are serialized using `JSON.stringify(metadata, null, 2)` to prevent `[object Object]` output. 5. **Environment Awareness**: - Check `process.env.NODE_ENV === 'development'`. - Apply `winston.format.colorize()` to the console transport only in development. 6. **Log Rotation**: - Rotate logs daily (`datePattern: "YYYY-MM-DD"`). - Enable `zippedArchive: true`. - Set `maxSize: "20m"` and `maxFiles: "14d"`. 7. **Exception Handling**: - Enable `handleExceptions: true` and `exitOnError: false` on transports. - Listen for `unhandledRejection` events and log them using the logger. 8. **Parameters**: The function should accept `appName`, `logPath` (defaulting to current working directory), and `logLevel` (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
Imported from the listed AgentSkill.sh category. Complete supplied package files and notices are retained. Required external tools and credentials are not installed. No bundled code was executed during import. Individual agent task behavior has not been tested.