2015年 8月 の投稿一覧

slack-winstonでログをSlack通知する

Node.js でloopbackを使ってAPIを書くことをここ最近ずっとしていて、winstonでアプリケーションのログを取る様にする際にした際、ついでに一定レベル以上のログ(エラーログ)の場合は内容をSlackにも通知できないかなと調べると由ななwinstonのプラグインを見つけたので使ってみた。

github.com

お約束。npmコマンドでインストール。

$ npm install slack-winston --save

以下の様な形で利用できます。

var winston = require('winston');
var slackWinston = require('slack-winston').Slack;
var options = {
domain: 'remp',
token: '******',
channel: '#remp',
username: 'REMP API winston',
message: '[{{level}}] {{message}}',
level: 'warn'
}
winston.add(slackWinston, options)

なお、token の部分には、Slackの"Incoming WebHooks"の設定で得られるWebhook URLの末尾の文字列を渡します。

あとは、winstonでログ出力をする要領で記述を行うと

winston.warn("Winston test");

winstonのログは出力されつつ...

f:id:hideack:20150816114012p:plain

Slackの指定したチャンネルにも通知されます。

f:id:hideack:20150816114005p:plain

先の例に書いた通り、メッセージ内容や通知レベルも個別で指定できるので便利。

読書の夏

今年の夏休みはひたすら本を読んだり、コード書いたりして過ごしています。*1

毎年夏休みは必ず文藝春秋読んでいる気がする。移動することが多いので一冊とビール500ml缶とあたりめがあれば、移動時間も時間の使い方に不自由しない。

*1:あれ、普段とあまり変わりない

2015年7月に読んだ本を振り返る

7月読み終えたのは13作品。比較的今回は読めたほうかな。

特に印象深かった本は、システム障害はなぜ二度起きたか みずほ、12年の教訓は他山の石以て玉を攻むべしで何らかのシステムに携わっている人が読むと得るところ多いので一度読んでみることをお勧め。

あとゲーム音楽史も面白かった。

2015年7月に読んだ本

hideackの本棚 - 2015年07月 (13作品)


私の本棚
読了日:07月25日


楽天流
三木谷浩史
読了日:07月31日


powered by booklog

blanketでmochaで書いたテストのカバレッジを測定する

mochaで書いたテストのカバレッジ(網羅率)を取るにはどうしたらよいのかと思っていたところ、blanketというのを見つけたので試してみました。

早速、blanketとmochaでテストを走らせた際にカバレッジを表示させられる様にするためのレポーターを追加します。

$ npm install --save-dev blanket
$ npm install --save-dev mocha-spec-cov-alt

blanketの設定をpackage.jsonに追記します。data-cover-neverにはカバレッジ測定の対象としないディレクトリを明記します。ここではテストが入っているディレクトリとnpmのパッケージがインストールされているディレクトリを除外しています。

  "config": {
"blanket": {
"pattern": [
""
],
"data-cover-never": [
"node_modules",
"test"
]
}
}

更に npm test を実行する際の設定を以下の様に修正します。mochaを呼び出す際に以下の2つのオプションを追加します。

  • レポーターにmocha-spec-cov-altを指定 -R mocha-spec-cov-alt
  • 実行時にblanketを読み込む様に指定 --require blanket

修正例としては以下の様な形。

  "scripts": {
"test": "NODE_ENV=\"testing\" mocha -R mocha-spec-cov-alt --recursive --require blanket "
},

ここまででテストのカバレッジがmochaの実行結果として表示される様になります。*1

npm test を実行すると

f:id:hideack:20150801114446p:plain

といった形でテストの末尾にカバレッジが表示される様になります。

参考

blanketjs.org

github.com

*1:コメントに従ってscripts修正しました