winstonを使ってみたよ
ロギングにlog4jsを使おうと思っていたのだけど、なんか微妙だったのと、flatironで使われているwinstonがnodejitsu製だしよさそうだったので使ってみました。
基本的な使い方
最初に基本的な使い方から。
index.js
var winston = require('winston'); winston.log('info', 'log method: info'); winston.info('info log');
logメソッドでログレベルとログへ出力する文字列を渡してあげるか、
ログレベルのメソッドにログへ出力する文字列を渡してあげるといいみたい。
$ node index.js info: log method info: info log
ファイルに出力する
デフォルトだとコンソールに出力されるので、ファイルに出力してみる。
index.js
var winston = require('winston'); winston.add(winston.transports.File, { filename: 'winston.log' }); winston.remove(winston.transports.Console); winston.log('info', 'log method'); winston.info('info log');
なんかまあ、コード読めばわかる感じ。
$ node index.js $ cat winston.log {"level":"info","message":"log method","timestamp":"2012-11-25T15:02:08.275Z"} {"level":"info","message":"info log","timestamp":"2012-11-25T15:02:08.278Z"}
winston.transports.Logglyってのもあるみたいだけど、これはなんなんだろう?
オブジェクトの中身を出力する
index.js
var winston = require('winston'); winston.info('object data:', { aaa: 'aaa', bbb: 'bbb' });
オブジェクトの中身をログに。
$ node index.js info: object data: aaa=aaa, bbb=bbb
基本的な使い方はこれくらい。
プラグイン形式になっているらしく、ログをメールで送ったりとかもできるようなので、必要があれば自分で作って組み込むってこともできて良いかも。