maaash.jp

what I create

nodejsのrequestでログをはく

nodejsを使っているみなさまは http requestを簡単に発行するために https://github.com/mikeal/request を使っていると思いますが、

そのソースを読んでいると、ふと以下のような行が目にとまりました。

if (process.logging) {
  var log = process.logging('request')
}
... 中略
if (log) log('%method %href', self)

ところが process.logging の痕跡はどこにもありません。

ということで、 log 関数に渡している引数を眺めて、以下のようなロガーをこさえてみました。

こんなログを吐きます。

// require('request').get( "http://google.com/" );
[request] GET http://google.com/
[request] Redirect to { protocol: 'http:',
  slashes: true,
  host: 'www.google.com',
  hostname: 'www.google.com',
  href: 'http://www.google.com/',
  pathname: '/',
  path: '/' }
[request] GET http://www.google.com/
[request] Redirect to { protocol: 'http:',
  slashes: true,
  host: 'www.google.co.jp',
  hostname: 'www.google.co.jp',
  href: 'http://www.google.co.jp/',
  pathname: '/',
  path: '/' }
[request] GET http://www.google.co.jp/

お手軽かも

Comments