UNPKG

ionic

Version:

A tool for creating and developing Ionic Framework mobile apps.

30 lines (29 loc) 1.41 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const cli_framework_1 = require("@ionic/cli-framework"); const chalk = require("chalk"); const color_1 = require("../color"); class Logger extends cli_framework_1.Logger { ok(msg) { this.log({ ...this.createRecord(`${color_1.weak('[')}${chalk.bold.green('OK')}${color_1.weak(']')} ${msg}`), format: false }); } rawmsg(msg) { this.log({ ...this.createRecord(msg), format: false }); } } exports.Logger = Logger; function createFormatter(options = {}) { const prefix = process.argv.includes('--log-timestamps') ? () => `${color_1.weak('[' + new Date().toISOString() + ']')}` : ''; return cli_framework_1.createTaggedFormatter({ prefix, titleize: true, wrap: true, ...options }); } exports.createFormatter = createFormatter; function createDefaultLoggerHandlers(formatter = createFormatter()) { return new Set([...cli_framework_1.DEFAULT_LOGGER_HANDLERS].map(handler => handler.clone({ formatter }))); } exports.createDefaultLoggerHandlers = createDefaultLoggerHandlers; function createPrefixedWriteStream(log, prefix, level = cli_framework_1.LOGGER_LEVELS.INFO) { const l = log.clone(); l.handlers = createDefaultLoggerHandlers(cli_framework_1.createPrefixedFormatter(prefix)); return l.createWriteStream(level); } exports.createPrefixedWriteStream = createPrefixedWriteStream;