333
schangxiang@126.com
2025-09-19 18966e02fb573c7e2bb0c6426ed792b38b910940
1
{"version":3,"sources":["../browser/src/logger/AdvancedConsoleLogger.ts"],"names":[],"mappings":"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","file":"AdvancedConsoleLogger.js","sourcesContent":["import {LoggerOptions} from \"./LoggerOptions\";\nimport {PlatformTools} from \"../platform/PlatformTools\";\nimport {QueryRunner} from \"../query-runner/QueryRunner\";\nimport {Logger} from \"./Logger\";\n\n/**\n * Performs logging of the events in TypeORM.\n * This version of logger uses console to log events and use syntax highlighting.\n */\nexport class AdvancedConsoleLogger implements Logger {\n\n    // -------------------------------------------------------------------------\n    // Constructor\n    // -------------------------------------------------------------------------\n\n    constructor(private options?: LoggerOptions) {\n    }\n\n    // -------------------------------------------------------------------------\n    // Public Methods\n    // -------------------------------------------------------------------------\n\n    /**\n     * Logs query and parameters used in it.\n     */\n    logQuery(query: string, parameters?: any[], queryRunner?: QueryRunner) {\n        if (this.options === \"all\" || this.options === true || (this.options instanceof Array && this.options.indexOf(\"query\") !== -1)) {\n            const sql = query + (parameters && parameters.length ? \" -- PARAMETERS: \" + this.stringifyParams(parameters) : \"\");\n            PlatformTools.logInfo(\"query:\", PlatformTools.highlightSql(sql));\n        }\n    }\n\n    /**\n     * Logs query that is failed.\n     */\n    logQueryError(error: string, query: string, parameters?: any[], queryRunner?: QueryRunner) {\n        if (this.options === \"all\" || this.options === true || (this.options instanceof Array && this.options.indexOf(\"error\") !== -1)) {\n            const sql = query + (parameters && parameters.length ? \" -- PARAMETERS: \" + this.stringifyParams(parameters) : \"\");\n            PlatformTools.logError(`query failed:`, PlatformTools.highlightSql(sql));\n            PlatformTools.logError(`error:`, error);\n        }\n    }\n\n    /**\n     * Logs query that is slow.\n     */\n    logQuerySlow(time: number, query: string, parameters?: any[], queryRunner?: QueryRunner) {\n        const sql = query + (parameters && parameters.length ? \" -- PARAMETERS: \" + this.stringifyParams(parameters) : \"\");\n        PlatformTools.logWarn(`query is slow:`, PlatformTools.highlightSql(sql));\n        PlatformTools.logWarn(`execution time:`, time);\n    }\n\n    /**\n     * Logs events from the schema build process.\n     */\n    logSchemaBuild(message: string, queryRunner?: QueryRunner) {\n        if (this.options === \"all\" || (this.options instanceof Array && this.options.indexOf(\"schema\") !== -1)) {\n            PlatformTools.log(message);\n        }\n    }\n\n    /**\n     * Logs events from the migration run process.\n     */\n    logMigration(message: string, queryRunner?: QueryRunner) {\n        PlatformTools.log(message);\n    }\n\n    /**\n     * Perform logging using given logger, or by default to the console.\n     * Log has its own level and message.\n     */\n    log(level: \"log\"|\"info\"|\"warn\", message: any, queryRunner?: QueryRunner) {\n        switch (level) {\n            case \"log\":\n                if (this.options === \"all\" || (this.options instanceof Array && this.options.indexOf(\"log\") !== -1))\n                    console.log(message);\n                break;\n            case \"info\":\n                if (this.options === \"all\" || (this.options instanceof Array && this.options.indexOf(\"info\") !== -1))\n                    console.info(message);\n                break;\n            case \"warn\":\n                if (this.options === \"all\" || (this.options instanceof Array && this.options.indexOf(\"warn\") !== -1))\n                    console.warn(PlatformTools.warn(message));\n                break;\n        }\n    }\n\n    // -------------------------------------------------------------------------\n    // Protected Methods\n    // -------------------------------------------------------------------------\n\n    /**\n     * Converts parameters to a string.\n     * Sometimes parameters can have circular objects and therefor we are handle this case too.\n     */\n    protected stringifyParams(parameters: any[]) {\n        try {\n            return JSON.stringify(parameters);\n\n        } catch (error) { // most probably circular objects in parameters\n            return parameters;\n        }\n    }\n\n}"],"sourceRoot":".."}