Skip to content

[Bug]: can't format timestamp using winston.format.timestamp #232

@yurijmikhalevich

Description

@yurijmikhalevich

🔎 Search Terms

timezone, timestamp

The problem

Cannot format timestamp using winston.format.timestamp.

What version of Winston presents the issue?

v3.10.0

What version of Node are you using?

v16.13.2

If this worked in a previous version of Winston, which was it?

No response

Minimum Working Example

import winston from 'winston';
import mongodb from 'mongodb';
// Requiring `winston-mongodb` will expose winston.transports.MongoDB`
import 'winston-mongodb';

const MongoClient = mongodb.MongoClient;

const log = winston.createLogger({
  level: 'info',
  transports: [
    new winston.transports.Console({ format: winston.format.simple(), level: 'info' })
  ],
  format: winston.format.combine(
    winston.format.timestamp({
      format: 'YYYY-MM-DD HH:mm:ss',
    }),
  ),
});

// logging to console so far
log.info('Connecting to database...');

const url = "mongodb://localhost:27017/mydb";

const client = new MongoClient(url);
await client.connect();

const transportOptions = {
  db: await Promise.resolve(client),
  collection: 'log',
};

log.add(new winston.transports.MongoDB(transportOptions));

// following entry should appear in log collection and will contain
// metadata JSON-property containing url field
log.info('Connected to database.',{url});

Additional information

winston-mongodb: v5.1.1

As a workaround, it's possible to store a custom timestamp under .metadata, like this:

const log = winston.createLogger({
  level: 'info',
  transports: [
    new winston.transports.Console({ format: winston.format.simple(), level: 'info' })
  ],
  format: winston.format.combine(
    winston.format(info => {
      info.metadata = { myTs: new Date().toLocaleDateString() }; // or any other format
      return info;
    })(),
  ),
});

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions