Sailsには、captains-logと呼ばれるシンプルな組み込みロガーが付属しています。その使い方は、Nodeのconsole.logと機能的に非常に似ていますが、いくつかの追加機能、つまり、色付きで接頭辞が付いたコンソール出力による複数のログレベルのサポートがあります。ロガーは2つの目的を果たします。
Sailsのログ設定は、sails.config.logによって決定されます。これは、新しいSailsプロジェクトでは、通常、生成された設定ファイル(config/log.js)によって設定されます。
sails.log.info('I am an info-level message.');
sails.log('I am a debug-level message');
sails.log.warn('I am a warn-level message');
組み込みロガーを使用すると、Sailsは、現在設定されているログレベルの優先度以上にあるログ関数の呼び出しに対して(stdout/stderrに)出力を書き込みます。このログレベルは正規化され、Grunt、Socket.io、Waterline、Express、その他の依存関係から生成された出力にも適用されます。ログレベルの階層とその相対的な優先順位は、以下の表に要約されています。
| 優先順位 | レベル | 表示される出力を生成するログ関数 |
|---|---|---|
| 0 | silent | N/A |
| 1 | error | .error() |
| 2 | warn | .warn()、.error() |
| 3 | debug | .debug()、.warn()、.error() |
| 4 | info | .info()、.debug()、.warn()、.error() |
| 5 | verbose | .verbose()、.info()、.debug()、.warn()、.error() |
| 6 | silly | .silly()、.verbose()、.info()、.debug()、.warn()、.error() |