diff --git a/packages/api/package.json b/packages/api/package.json index 23d361601..40352ead5 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -52,7 +52,7 @@ "ncp": "^2.0.0", "node-cron": "^2.0.3", "on-finished": "^2.4.1", - "pinomin": "^1.0.1", + "pinomin": "^1.0.4", "portfinder": "^1.0.28", "rimraf": "^3.0.0", "simple-encryptor": "^4.0.0", diff --git a/packages/api/src/index.js b/packages/api/src/index.js index 8910b7e16..dd2b0113d 100644 --- a/packages/api/src/index.js +++ b/packages/api/src/index.js @@ -1,4 +1,4 @@ -const { setLogger, getLogger, setLoggerName } = require('dbgate-tools'); +const { setLogConfig, getLogger, setLoggerName } = require('dbgate-tools'); const processArgs = require('./utility/processArgs'); const fs = require('fs'); const moment = require('moment'); @@ -33,7 +33,7 @@ function configureLogger() { const consoleLogLevel = process.env.CONSOLE_LOG_LEVEL || process.env.LOG_LEVEL || 'info'; const fileLogLevel = process.env.FILE_LOG_LEVEL || process.env.LOG_LEVEL || 'debug'; - const logger = createLogger({ + const logConfig = { base: { pid: process.pid }, targets: [ { @@ -48,9 +48,9 @@ function configureLogger() { stream: fs.createWriteStream(logsFilePath, { flags: 'a' }), }, ], - }); + }; - logger.info(`Initialized logging, console log level: ${consoleLogLevel}, file log level: ${fileLogLevel}`); + // logger.info(`Initialized logging, console log level: ${consoleLogLevel}, file log level: ${fileLogLevel}`); // const streams = []; // if (!platformInfo.isElectron) { @@ -88,7 +88,8 @@ function configureLogger() { // }, // }); - setLogger(logger); + // @ts-ignore + setLogConfig(logConfig); } if (processArgs.listenApi) { diff --git a/packages/dbmodel/package.json b/packages/dbmodel/package.json index 95ed52c26..b2015d99e 100644 --- a/packages/dbmodel/package.json +++ b/packages/dbmodel/package.json @@ -41,6 +41,6 @@ "dbgate-plugin-oracle": "^5.0.0-alpha.1", "dbgate-web": "^5.0.0-alpha.1", "dotenv": "^16.0.0", - "pinomin": "^1.0.1" + "pinomin": "^1.0.4" } } diff --git a/packages/tools/package.json b/packages/tools/package.json index c81c72dff..74053dc92 100644 --- a/packages/tools/package.json +++ b/packages/tools/package.json @@ -36,7 +36,7 @@ "debug": "^4.3.4", "json-stable-stringify": "^1.0.1", "lodash": "^4.17.21", - "pinomin": "^1.0.1", + "pinomin": "^1.0.4", "uuid": "^3.4.0" } } diff --git a/packages/tools/src/getLogger.ts b/packages/tools/src/getLogger.ts index 8e4ef59c7..17b5a9b73 100644 --- a/packages/tools/src/getLogger.ts +++ b/packages/tools/src/getLogger.ts @@ -1,27 +1,40 @@ -import pinomin, { Logger } from 'pinomin'; +import pinomin, { Logger, type LogConfig } from 'pinomin'; -let _logger: Logger; +let _logConfig: LogConfig; let _name: string = null; -const defaultLogger: Logger = pinomin({ + +const defaultLogConfig: LogConfig = { base: { pid: global?.process?.pid }, targets: [{ type: 'console', level: 'info' }], -}); +}; -export function setLogger(value: Logger) { - _logger = value; +export function setLogConfig(value: LogConfig) { + _logConfig = value; } export function setLoggerName(value) { _name = value; } export function getLogger(caller?: string): Logger { - let res = _logger || defaultLogger; - if (caller) { - const props = { caller }; - if (_name) { - props['name'] = _name; - } - res = res.child(props); - } - return res; + return pinomin({ + getConfig: () => { + const config = _logConfig || defaultLogConfig; + + if (caller) { + const props = { caller }; + if (_name) { + props['name'] = _name; + } + return { + ...config, + base: { + ...config.base, + ...props, + }, + }; + } + + return config; + }, + }); } diff --git a/yarn.lock b/yarn.lock index 0a10e9d60..1bdd0085e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8311,10 +8311,10 @@ pino-pretty@^9.1.1: sonic-boom "^3.0.0" strip-json-comments "^3.1.1" -pinomin@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/pinomin/-/pinomin-1.0.1.tgz#a4149f137c1fe122f660f9e17e9ff799a6222802" - integrity sha512-LzeMsq1LeLXNEwQNTKVPyGjjwmAvlgr6cR30fhk3rXeoUFy79eYhNRMp34FEia18KRRAV3wuZpLyukVFBpshJg== +pinomin@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/pinomin/-/pinomin-1.0.4.tgz#fcbc5e50745f1769a6b4d9a5a49475927e3ce556" + integrity sha512-UJFXLxbgP9t9PDIWiKeVp3/+kudjeq/7IqWUFXqmNFD7810bh3+/3H8jvf+CCvEDkKVY8ckbCNIDWHWymurqHw== pirates@^4.0.1, pirates@^4.0.4: version "4.0.6"