Page Contents
  
 
    以下に説明するように、アプリケーションの実行時にデバッグ文字列を指定して、特定のログ出力をコンソールに表示することができます。 必要に応じて、出力をファイルにリダイレクトすることもできます。これらの手法は、アプリケーションのデバッグに役立ちます。
デバッグ文字列の使用
LoopBackフレームワークには、デバッグに役立つ多数のビルトインデバッグ文字列があります。 次のように、環境変数を使用してコマンドラインで文字列を指定します。
MacOS と Linux
$ DEBUG=<pattern>[,<pattern>...] node .
Windows
C:\> set DEBUG=<pattern>[,<pattern>...]
C:\> node .
ここで、<pattern> は一致させるデバッグ文字列を指定する文字列です。一致するパターンは、必要な数だけ指定できます。
例えば (MacOS と Linux):
$ DEBUG=loopback:datasource node .
または、Windowsの場合
C:\> set DEBUG=loopback:datasource
C:\> node .
次のような出力が表示されます(簡略化のために切り捨てられています):
loopback:datasource Settings: {"name":"db","debug":true} -0ms
loopback:datasource Settings: {"name":"geo","connector":"rest",...
パターン内のアスタリスク(*)を使用して、任意の文字列に一致させることができます。たとえば、次のコードは “oracle”を含むデバッグ文字列と一致します。
$ DEBUG=*oracle node .
また、特定のデバッガの前に “-“文字を付けることで除外することもできます。
たとえば、DEBUG=*,-strong-remoting:* 「strong-remoting:」で始まるデバッガ以外のすべてのデバッガが含まれます。
デバッグ文字列形式
デバッグ文字列は、以下の形式になります。
module[:area]:fileName
ここで、
- module はモジュールの名前です。例えば、loopback・loopback-connector-restなど。
- area はsecurityやconnectorのように、モジュールの目的を識別するための、オプションの識別子です。
- fileName は oracle.jsのような、JavaScriptソースファイルの名前です。
例えば、以下のようになります。
loopback:security:access-context
これは、loopback モジュール内の access-context.js  ファイル(セキュリティ機能のために使われている)とわかります。
デバッグ文字列のリファレンス
| モジュール/ソースファイル | 文字列 | 
|---|---|
| loopback | |
| loopback/lib/connectors/base-connector.js | connector | 
| loopback/lib/connectors/mail.js | loopback:connector:mail | 
| loopback/lib/connectors/memory.js | memory | 
| loopback/lib/models/access-context.js | loopback:security:access-context | 
| loopback/lib/models/acl.js | loopback:security:acl | 
| loopback/lib/models/change.js | loopback:change | 
| loopback/lib/models/role.js | loopback:security:role | 
| loopback/lib/models/user.js | loopback:user | 
| loopback-datasource-juggler | |
| loopback-datasource-juggler/lib/datasource.js | loopback:datasource | 
| loopback-boot | |
| loopback-boot/lib/compiler.js | loopback:boot:compiler | 
| loopback-boot/lib/executor.js | loopback:boot:executor | 
| Components | |
| loopback-component-push/lib/providers/apns.js | loopback:component:push:provider:apns | 
| loopback-component-push/lib/providers/gcm.js | loopback:component:push:provider:gcm | 
| loopback-component-push/lib/push-manager.js | loopback:component:push:push-manager | 
| Connectors | |
| loopback-connector-mongodb/lib/mongodb.js | loopback:connector:mongodb | 
| loopback-connector-mssql/lib/mssql.js | loopback:connector:mssql | 
| loopback-connector-mysql/lib/mysql.js | loopback:connector:mysql | 
| loopback-connector-oracle/lib/oracle.js | loopback:connector:oracle | 
| loopback-connector-postgresql/lib/postgresql.js | loopback:connector:postgresql | 
| loopback-connector-rest/lib/rest-builder.js | loopback:connector:rest | 
| loopback-connector-rest/lib/rest-connector.js | loopback:connector:rest | 
| loopback-connector-rest/lib/rest-model.js | loopback:connector:rest | 
| loopback-connector-rest/lib/swagger-client.js | loopback:connector:rest:swagger | 
| loopback-connector-soap/lib/soap-connector.js | loopback:connector:soap | 
| strong-remoting | |
| strong-remoting/lib/dynamic.js | strong-remoting:dynamic | 
| strong-remoting/lib/exports-helper.js | strong-remoting:exports-helper | 
| strong-remoting/lib/http-context.js | strong-remoting:http-context | 
| strong-remoting/lib/http-invocation.js | strong-remoting:http-invocation | 
| strong-remoting/lib/jsonrpc-adapter.js | strong-remoting:jsonrpc-adapter | 
| strong-remoting/lib/remote-objects.js | strong-remoting:remotes | 
| strong-remoting/lib/rest-adapter.js | strong-remoting:rest-adapter | 
| strong-remoting/lib/shared-class.js | strong-remoting:shared-class | 
| strong-remoting/lib/shared-method.js | strong-remoting:shared-method | 
| strong-remoting/lib/socket-io-adapter.js | strong-remoting:socket-io-adapter | 
| strong-remoting/lib/socket-io-context.js | strong-remoting:socket-io-context | 
| loopback-explorer | |
| loopback-explorer/lib/route-helper.js | loopback:explorer:routeHelpers | 
| loopback-workspace | |
| loopback-workspace/connector.js | workspace:connector | 
| loopback-workspace/connector.js | workspace:connector:save-sync | 
| loopback-workspace/models/config-file.js | workspace:config-file | 
| loopback-workspace/models/definition.js | workspace:definition | 
| loopback-workspace/models/facet.js | workspace:facet | 
| loopback-workspace/models/facet.js: | var workspace:facet:load: - facetName | 
| loopback-workspace/models/facet.js: | var workspace:facet:save: - facetName | 
| loopback-workspace/models/workspace.js | workspace |