在NodeJS(环回)日志中启用时间戳

时间:2018-03-18 05:16:41

标签: node.js docker logging loopbackjs

我有一个在Docker容器中运行的nodeJS环回应用程序。

当我监控日志时,日志没有时间戳,导致明显的挑战。

有没有办法为这些日志启用时间戳?

由于

enter image description here

2 个答案:

答案 0 :(得分:0)

由于您没有共享您的Dockerfile或登录环回的配置,我使用loopback-cli创建了一个简单的应用程序并对其进行了测试。一切正常。

创建你好的工作,因为我在express上工作但没有在loopback上工作,但是按照这篇文章

http://loopback.io/getting-started/

这是我的泊坞文件

FROM goabode/nodejs

VOLUME [ "/opt/nodejs" ]
COPY . /opt/nodejs

WORKDIR /opt/nodejs
EXPOSE 3000

CMD [ "node" , "." ]

我在server/boot/root.js添加winston进行测试

   'use strict';

module.exports = function(server) {
  var winston = require('winston');
  // Install a `/` route that returns server status
  var router = server.loopback.Router();
  router.get('/', server.loopback.status());
  router.get('/ping', function(req, res) {
    winston.log('info', 'This is a log event', {timestamp: Date.now(), pid: process.pid});
    winston.info('This is another log event', {timestamp: Date.now(), pid: process.pid});
    res.send('pong');
  });
  server.use(router);
};

关注这篇文章

https://www.loggly.com/ultimate-guide/node-logging-basics/

enter image description here

https://docs.strongloop.com/display/SLC/Using+logging+libraries

答案 1 :(得分:0)

原来我只需要添加-t选项。

所以..

docker service logs -ft {NAME_OF_THE_SERVICE}

将输出包含在输出中的tstamp的日志