Skip to content

Latest commit

 

History

History
61 lines (53 loc) · 1.3 KB

README.md

File metadata and controls

61 lines (53 loc) · 1.3 KB

loopback-component-winston

Creates winston logger based on configuration in component-config.json file. Here is a small example to illustrate:

{
	...
	"loopback-component-winston": {
		"level": "verbose",
		"transports": [
			{
				"type": "Console",
				"json": true
			}, {
				"type": "File",
				"name": "info-file",
				"filename": "error.log",
				"level": "info"
			}, {
				"type": "File",
				"name": "error-file",
				"filename": "error.log",
				"level": "error"
			}
		]
	}
	...
}

The configuration above creates an instance of winston.Logger and binds it to a globally accessible app.log property. The type property of transport descriptors denotes the name of the class in winston.transports scope.

requestLogger Middleware

The component comes with a request logging middleware. Bellow is an example of how it can be connected.

# middleware.json
{
	...
	"routes": {
		"loopback-component-winston#requestLogger": {
			"params": {
				"level": "info",
				"msg": "${res.statusCode} ${req.method} ${res.time}ms ${req.decodedUrl}",
				"meta": false
			}
		},
		...
	}
	...
}

Available options:

  • level [String] log level to report request
  • msg [String] message template
  • meta [Boolean] whether or not to include request/response meta information such as headers, body, query...