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 はモジュールの名前です。例えば、loopbackloopback-connector-restなど。
  • areasecurityconnectorのように、モジュールの目的を識別するための、オプションの識別子です。
  • fileNameoracle.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