You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					108 lines
				
				3.6 KiB
			
		
		
			
		
	
	
					108 lines
				
				3.6 KiB
			| 
								 
											3 years ago
										 
									 | 
							
								# pino-std-serializers  [](https://github.com/pinojs/pino-std-serializers/actions?query=workflow%3ACI)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								This module provides a set of standard object serializers for the
							 | 
						||
| 
								 | 
							
								[Pino](https://getpino.io) logger.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## Serializers
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								### `exports.err(error)`
							 | 
						||
| 
								 | 
							
								Serializes an `Error` like object. Returns an object:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```js
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  type: 'string', // The name of the object's constructor.
							 | 
						||
| 
								 | 
							
								  message: 'string', // The supplied error message.
							 | 
						||
| 
								 | 
							
								  stack: 'string', // The stack when the error was generated.
							 | 
						||
| 
								 | 
							
								  raw: Error  // Non-enumerable, i.e. will not be in the output, original
							 | 
						||
| 
								 | 
							
								              // Error object. This is available for subsequent serializers
							 | 
						||
| 
								 | 
							
								              // to use.
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Any other extra properties, e.g. `statusCode`, that have been attached to the
							 | 
						||
| 
								 | 
							
								object will also be present on the serialized object.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								### `exports.mapHttpResponse(response)`
							 | 
						||
| 
								 | 
							
								Used internally by Pino for general response logging. Returns an object:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```js
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  res: {}
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Where `res` is the `response` as serialized by the standard response serializer.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								### `exports.mapHttpRequest(request)`
							 | 
						||
| 
								 | 
							
								Used internall by Pino for general request logging. Returns an object:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```js
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  req: {}
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Where `req` is the `request` as serialized by the standard request serializer.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								### `exports.req(request)`
							 | 
						||
| 
								 | 
							
								The default `request` serializer. Returns and object:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```js
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  id: 'string', // Defaults to `undefined`, unless there is an `id` property 
							 | 
						||
| 
								 | 
							
								                // already attached to the `request` object or to the `request.info`
							 | 
						||
| 
								 | 
							
								                // object. Attach a synchronous function
							 | 
						||
| 
								 | 
							
								                // to the `request.id` that returns an identifier to have
							 | 
						||
| 
								 | 
							
								                // the value filled.
							 | 
						||
| 
								 | 
							
								  method: 'string',
							 | 
						||
| 
								 | 
							
								  url: 'string', // the request pathname (as per req.url in core HTTP)
							 | 
						||
| 
								 | 
							
								  headers: Object, // a reference to the `headers` object from the request
							 | 
						||
| 
								 | 
							
								                   // (as per req.headers in core HTTP)
							 | 
						||
| 
								 | 
							
								  remoteAddress: 'string',
							 | 
						||
| 
								 | 
							
								  remotePort: Number,
							 | 
						||
| 
								 | 
							
								  raw: Object // Non-enumerable, i.e. will not be in the output, original
							 | 
						||
| 
								 | 
							
								              // request object. This is available for subsequent serializers
							 | 
						||
| 
								 | 
							
								              // to use. In cases where the `request` input already has 
							 | 
						||
| 
								 | 
							
								              // a `raw` property this will replace the original `request.raw`
							 | 
						||
| 
								 | 
							
								              // property
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								### `exports.res(response)`
							 | 
						||
| 
								 | 
							
								The default `response` serializer. Returns an object:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```js
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  statusCode: Number,
							 | 
						||
| 
								 | 
							
								  headers: Object, // The headers to be sent in the response.
							 | 
						||
| 
								 | 
							
								  raw: Object // Non-enumerable, i.e. will not be in the output, original
							 | 
						||
| 
								 | 
							
								              // response object. This is available for subsequent serializers
							 | 
						||
| 
								 | 
							
								              // to use.
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								### `exports.wrapErrorSerializer(customSerializer)`
							 | 
						||
| 
								 | 
							
								A utility method for wrapping the default error serializer. This allows
							 | 
						||
| 
								 | 
							
								custom serializers to work with the already serialized object.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The `customSerializer` accepts one parameter — the newly serialized error
							 | 
						||
| 
								 | 
							
								object — and returns the new (or updated) error object.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								### `exports.wrapRequestSerializer(customSerializer)`
							 | 
						||
| 
								 | 
							
								A utility method for wrapping the default request serializer. This allows
							 | 
						||
| 
								 | 
							
								custom serializers to work with the already serialized object.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The `customSerializer` accepts one parameter — the newly serialized request
							 | 
						||
| 
								 | 
							
								object — and returns the new (or updated) request object.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								### `exports.wrapResponseSerializer(customSerializer)`
							 | 
						||
| 
								 | 
							
								A utility method for wrapping the default response serializer. This allows
							 | 
						||
| 
								 | 
							
								custom serializers to work with the already serialized object.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The `customSerializer` accepts one parameter — the newly serialized response
							 | 
						||
| 
								 | 
							
								object — and returns the new (or updated) response object.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## License
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								MIT License
							 |