You can specify debug strings when you run an application, as explained below, to display specific log output to the console. You can also redirect the output to a file, if desired. These techniques are often helpful in debugging applications.
Using debug strings
The LoopBack framework has a number of built-in debug strings to help with debugging. Specify a string on the command-line via an environment variable as follows:
MacOS and Linux
$ DEBUG=<pattern>[,<pattern>...] node .
Windows
C:\> set DEBUG=<pattern>[,<pattern>...]
C:\> node .
where <pattern> is a string-matching pattern specifying debug strings to match. You can specify as many matching patterns as you wish.
For example (MacOS):
$ DEBUG=loopback:datasource node .
Or, on Windows:
C:\> set DEBUG=loopback:datasource
C:\> node .
You’ll see output such as (truncated for brevity):
loopback:datasource Settings: {"name":"db","debug":true} -0ms
loopback:datasource Settings: {"name":"geo","connector":"rest",...
You can use an asterisk  (*) in the pattern to match any string. For example the following would match any debug string containing “oracle”:
$ DEBUG=*oracle node .
You can also exclude specific debuggers by prefixing them with a “-“ character.
For example, DEBUG=*,-strong-remoting:* would include all debuggers except those starting with “strong-remoting:”.
Debug string format
These strings have the format
module[:area]:fileName
Where:
- module is the name of the module, for example loopbackorloopback-connector-rest.
- area is an optional identifier such as securityorconnectorto identify the purpose of the module
- fileName is the name of the JavaScript source file, such as oracle.js.
For example:
loopback:security:access-context
identifies the source file access-context.js in the loopback module (used for security features).
Debug strings reference
| Module / Source file | String | 
|---|---|
| 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 |