# pino-smart **Repository Path**: towardly/pino-smart ## Basic Information - **Project Name**: pino-smart - **Description**: Pino 日志行美化工具 - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-04-23 - **Last Updated**: 2024-05-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # pino-smart ### 介绍 Pino 日志行美化工具 ### 安装 ```Bash # 1. 作为工具使用 npm install pino-smart -g # 2. 作为项目引用使用 npm install pino-smart ``` ### 使用 #### 1. 作为工具使用 ```Bash node server.js | pino-colada ``` #### 2. 作为项目引用使用 1. 作为 [pino prettifier](https://getpino.io/#/docs/pretty?id=api-example) 使用 ```JavaScript const pino = require('pino'); const logger = pino({ prettyPrint: {}, prettifier: require('pino-smart') }); logger.info('hi'); ``` 2. 使用流的形式直接输出 ```JavaScript const pino = require('pino'); const SmartStream = require('pino-smart/stream'); const stream = new SmartStream(); const logger = pino({ level: 'info', stream }); stream.pipe(process.stdout); logger.info('hi'); ``` > `Unicode and Windows terminal` 终端输出乱码, 可以转换终端编码为 `UTF-8` 形式。[执行: chcp 65001](https://getpino.io/#/docs/help?id=unicode-and-windows-terminal) ### 功能 #### 1. 格式化 [knex sql 日志](https://knexjs.org/) 要想要正确的美化 `knex sql` 日志,需要使用 `pino` 记录 `knex sql` ```JavaScript const pino = require('pino'); const logger = pino({ level: 'info' }); const knex = require('knex')({ client: 'mysql2', connection: connectStr, debug: true, log: { warn(message) { logger.warn(message); }, error(message) { logger.error(message); }, deprecate(message) { logger.info(message); }, debug(message) { if (message.sql) { logger.info(message); } else { logger.debug(message); } }, } }); // 验证应用是否启动 knex.raw().select('select 1') // 应用启动时,先清空设备列表 knex.raw().select('select 1') .then(() => { logger.info('Connection has been established successfully.') }) .catch(err => { logger.error(err); }); ```