2

私の node.js アプリケーションでは、socket.ioライブラリによって生成されたログ メッセージをwinstonライブラリに正常にリダイレクトしています。

var express = require('express')
  , winston = require('winston')
  , http = require('http');
var logger = new (winston.Logger)({
  transports: [
    // ... configuring transports ...
  ]
});
var app = express();
var server = http.createServer(app);
var io = require('socket.io').listen(server, {'logger': logger});

ここで、アプリケーションの他の部分によって生成されたログ メッセージと区別するために、これらすべてのリダイレクトされたメッセージにプレフィックス (「socket.io:」のようなもの) を追加したいと考えています。これを達成する方法はありますか?

4

3 に答える 3

5

ロガー トランスポートにラベルを追加します。

var logger = new (winston.Logger)({
  transports: [
    new (winston.transports.Console)({
      json : false,
      timestamp : true,
      label: "socket.io:"
    })
  ]
});

ログメッセージは次のようになります -

2013-08-30T08:26:52.703Z - info: [socket.io:] socket.io started
2013-08-30T08:26:52.705Z - info: [socket.io:] hello

ここでwinstonのその他のログオプションを確認してください - https://github.com/flatiron/winston

于 2013-08-30T08:31:06.123 に答える