2

httpトランスポートを使用してサーバーにログを投稿する実際の例が必要です。ファイル転送とコンソール転送を使用して、ファイルとコンソールにメッセージを記録できます。私がhttpトランスポートでも試したのと同じ方法で、winston clien のソース cod は次のようになります。

var winston = require('winston');

var logger = new (winston.Logger)({
transports: [
  new (winston.transports.Console)(),
  new (winston.transports.Http)({ host: 'localhost', port:8080 })
]
  });

logger.log('info', 'Hello world');

このコードを実行しているときに、次のようなエラーが発生します。

D:\Balwant\Devlopment-Env\LoggingDemo\node_modules\winston\lib\winston\transports\http.js:52
req = (self.ssl ? https : http).request({
     ^
ReferenceError: self is not defined
at Http._request (D:\Balwant\Devlopment-    Env\LoggingDemo\node_modules\winston\lib\winston\transports\http.js:52:10)
at Http.log (D:\Balwant\Devlopment-Env\LoggingDemo\node_modules\winston\lib\winston\transports\http.js:109:8)
at emit (D:\Balwant\Devlopment-Env\LoggingDemo\node_modules\winston\lib\winston\logger.js:175:17)
at D:\Balwant\Devlopment-Env\LoggingDemo\node_modules\winston\node_modules\async\lib\async.js:111:13
at Array.forEach (native)
at _each (D:\Balwant\Devlopment-Env\LoggingDemo\node_modules\winston\node_modules\async\lib\async.js:32:24)
at Object.async.each (D:\Balwant\Devlopment-Env\LoggingDemo\node_modules\winston\node_modules\async\lib\async.js:110:9)
at Logger.log (D:\Balwant\Devlopment-Env\LoggingDemo\node_modules\winston\lib\winston\logger.js:203:9)
at Object.<anonymous> (D:\Balwant\Devlopment-Env\LoggingDemo\logger.js:10:8)
at Module._compile (module.js:456:26)

私はnode.jsが初めてなので、対処方法がわかりません。解決策をグーグルで試しましたが、何も得られませんでした。助けてください。

ありがとう

4

2 に答える 2

-5
    var winston = require('winston');

    var logger = new (winston.Logger)({
      transports: [
        new (winston.transports.Console)({ json: false, timestamp: true }),
        new winston.transports.File({ filename: __dirname + '/debug.log', json: false })
      ],
      exceptionHandlers: [
        new (winston.transports.Console)({ json: false, timestamp: true }),
        new winston.transports.File({ filename: __dirname + '/exceptions.log', json: false })
      ],
      exitOnError: false
    });

    module.exports = logger;

add this line were ever u wanted to lg the error message
var logger = require('../../config/logger.js');
logger.info("the default logger with my tricked out transports is rockin this module");
于 2015-09-28T11:42:30.000 に答える