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.
		
		
		
		
		
			
		
			
				
					168 lines
				
				4.0 KiB
			
		
		
			
		
	
	
					168 lines
				
				4.0 KiB
			| 
											3 years ago
										 | # Legacy
 | ||
|  | 
 | ||
|  | ## Legacy Node Support
 | ||
|  | 
 | ||
|  | ### Node v4
 | ||
|  | 
 | ||
|  | Node v4 is supported on the [Pino v4](#pino-v4-documentation) line. | ||
|  | 
 | ||
|  | ### Node v0.10-v0.12
 | ||
|  | 
 | ||
|  | Node v0.10 or Node v0.12 is supported on the [Pino v2](#pino-v2-documentation) line. | ||
|  | 
 | ||
|  | ## Documentation
 | ||
|  | 
 | ||
|  | ### Pino v4 Documentation
 | ||
|  | 
 | ||
|  | <https://github.com/pinojs/pino/tree/v4.x.x/docs> | ||
|  | 
 | ||
|  | ### Pino v3 Documentation
 | ||
|  | 
 | ||
|  | <https://github.com/pinojs/pino/tree/v3.x.x/docs> | ||
|  | 
 | ||
|  | ### Pino v2 Documentation
 | ||
|  | 
 | ||
|  | <https://github.com/pinojs/pino/tree/v2.x.x/docs> | ||
|  | 
 | ||
|  | ## Migration
 | ||
|  | 
 | ||
|  | ### Pino v4 to Pino v5
 | ||
|  | 
 | ||
|  | #### Logging Destination
 | ||
|  | 
 | ||
|  | In Pino v4 the destination could be set by passing a stream as the | ||
|  | second parameter to the exported `pino` function. This is still the | ||
|  | case in v5. However it's strongly recommended to use `pino.destination` | ||
|  | which will write logs ~30% faster. | ||
|  | 
 | ||
|  | ##### v4
 | ||
|  | 
 | ||
|  | ```js | ||
|  | const stdoutLogger = require('pino')() | ||
|  | const stderrLogger = require('pino')(process.stderr) | ||
|  | const fileLogger = require('pino')(fs.createWriteStream('/log/path')) | ||
|  | ``` | ||
|  | 
 | ||
|  | ##### v5
 | ||
|  | 
 | ||
|  | ```js | ||
|  | const stdoutLogger = require('pino')() // pino.destination by default | ||
|  | const stderrLogger = require('pino')(pino.destination(2)) | ||
|  | const fileLogger = require('pino')(pino.destination('/log/path')) | ||
|  | ``` | ||
|  | 
 | ||
|  | Note: This is not a breaking change, `WritableStream` instances are still | ||
|  | supported, but are slower than `pino.destination` which | ||
|  | uses the high speed [`sonic-boom` ⇗](https://github.com/mcollina/sonic-boom) library. | ||
|  | 
 | ||
|  | * See [`destination` parameter](/docs/api.md#destination) | ||
|  | 
 | ||
|  | #### Extreme Mode
 | ||
|  | 
 | ||
|  | The `extreme` setting does not exist as an option in Pino v5, instead use | ||
|  | a `pino.extreme` destination. | ||
|  | 
 | ||
|  | ##### v4
 | ||
|  | 
 | ||
|  | ```js | ||
|  | const stdoutLogger = require('pino')({extreme: true}) | ||
|  | const stderrLogger = require('pino')({extreme: true}, process.stderr) | ||
|  | const fileLogger = require('pino')({extreme: true}, fs.createWriteStream('/log/path')) | ||
|  | ``` | ||
|  | 
 | ||
|  | ##### v5
 | ||
|  | 
 | ||
|  | ```js | ||
|  | const stdoutLogger = require('pino')(pino.extreme()) | ||
|  | const stderrLogger = require('pino')(pino.extreme(2)) | ||
|  | const fileLogger = require('pino')(pino.extreme('/log/path')) | ||
|  | ``` | ||
|  | 
 | ||
|  | * See [pino.extreme](/docs/api.md#pino-extreme) | ||
|  | * See [Extreme mode ⇗](/docs/extreme.md) | ||
|  | 
 | ||
|  | 
 | ||
|  | #### Pino CLI is now pino-pretty CLI
 | ||
|  | 
 | ||
|  | The Pino CLI is provided with Pino v4 for basic log prettification. | ||
|  | 
 | ||
|  | From Pino v5 the CLI is installed separately with `pino-pretty`. | ||
|  | 
 | ||
|  | ##### v4
 | ||
|  | ```sh | ||
|  | $ npm install -g pino | ||
|  | $ node app.js | pino | ||
|  | ``` | ||
|  | 
 | ||
|  | ##### v5
 | ||
|  | ```sh | ||
|  | $ npm install -g pino-pretty | ||
|  | $ node app.js | pino-pretty | ||
|  | ``` | ||
|  | 
 | ||
|  | * See [Pretty Printing documentation](/docs/pretty.md) | ||
|  | 
 | ||
|  | #### Programmatic Pretty Printing
 | ||
|  | 
 | ||
|  | The [`pino.pretty()`](https://github.com/pinojs/pino/blob/v4.x.x/docs/API.md#prettyoptions) | ||
|  | method has also been removed from Pino v5. | ||
|  | 
 | ||
|  | ##### v4
 | ||
|  | 
 | ||
|  | ```js | ||
|  | var pino = require('pino') | ||
|  | var pretty = pino.pretty() | ||
|  | pretty.pipe(process.stdout) | ||
|  | ``` | ||
|  | 
 | ||
|  | ##### v5
 | ||
|  | 
 | ||
|  | Instead use the `prettyPrint` option (also available in v4): | ||
|  | 
 | ||
|  | ```js | ||
|  | const logger = require('pino')({ | ||
|  |   prettyPrint: process.env.NODE_ENV !== 'production' | ||
|  | }) | ||
|  | ``` | ||
|  | 
 | ||
|  | In v5 the `pretty-print` module must be installed to use the `prettyPrint` option: | ||
|  | 
 | ||
|  | ```sh | ||
|  | npm install --save-dev pino-pretty | ||
|  | ``` | ||
|  | 
 | ||
|  | * See [prettyPrint option](/docs/api.md#prettyPrint) | ||
|  | * See [Pretty Printing documentation](/docs/pretty.md) | ||
|  | 
 | ||
|  | #### Slowtime
 | ||
|  | 
 | ||
|  | In Pino v4 a `slowtime` option was supplied, which allowed for full ISO dates | ||
|  | in the timestamps instead of milliseconds since the Epoch. In Pino v5 this | ||
|  | has been completely removed, along with the `pino.stdTimeFunctions.slowTime` | ||
|  | function. In order to achieve the equivalent in v5, a custom | ||
|  | time function should be supplied: | ||
|  | 
 | ||
|  | ##### v4
 | ||
|  | 
 | ||
|  | ```js | ||
|  | const pino = require('pino') | ||
|  | const logger = pino({slowtime: true}) | ||
|  | // following avoids deprecation warning in v4: | ||
|  | const loggerAlt = pino({timestamp: pino.stdTimeFunctions.slowTime}) | ||
|  | ``` | ||
|  | 
 | ||
|  | ##### v5
 | ||
|  | 
 | ||
|  | ```js | ||
|  | const logger = require('pino')({ | ||
|  |   timestamp: () => ',"time":"' + (new Date()).toISOString() + '"' | ||
|  | }) | ||
|  | ``` | ||
|  | 
 | ||
|  | The practice of creating ISO dates in-process for logging purposes is strongly | ||
|  | recommended against. Instead consider post-processing the logs or using a transport | ||
|  | to convert the timestamps. | ||
|  | 
 | ||
|  | 
 | ||
|  | * See [timestamp option](/docs/api.md#timestamp) |