{"version":3,"file":"logging.js","sourceRoot":"","sources":["../../src/common/logging.ts"],"names":[],"mappings":";;;;;;AAwDA,sCAGC;AA3DD,kDAAyB;AACzB,qCAAiC;AACjC,uCAA+C;AAE/C,gFAAgF;AAChF,sCAAsC;AACtC,MAAM,OAAO,GAAG,IAAI,iBAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;AAE9B,QAAA,KAAK,GAAG,eAAK,CAAC,GAAG,CAAA;AACjB,QAAA,OAAO,GAAG,eAAK,CAAC,KAAK,CAAA;AACrB,QAAA,IAAI,GAAG,eAAK,CAAC,KAAK,CAAA;AAClB,QAAA,IAAI,GAAG,eAAK,CAAC,MAAM,CAAA;AACnB,QAAA,KAAK,GAAG,eAAK,CAAC,IAAI,CAAA;AAClB,QAAA,OAAO,GAAG,eAAK,CAAC,IAAI,CAAA;AACpB,QAAA,SAAS,GAAG,eAAK,CAAC,IAAI,CAAA;AACtB,QAAA,KAAK,GAAG,eAAK,CAAC,KAAK,CAAA;AACnB,QAAA,SAAS,GAAG,eAAK,CAAC,SAAS,CAAA;AAExC,IAAY,QAMX;AAND,WAAY,QAAQ;IAClB,6CAAW,CAAA;IACX,yCAAS,CAAA;IACT,uCAAQ,CAAA;IACR,uCAAQ,CAAA;IACR,yCAAS,CAAA;AACX,CAAC,EANW,QAAQ,wBAAR,QAAQ,QAMnB;AAED,IAAI,QAAQ,GAAa,QAAQ,CAAC,IAAI,CAAA;AAEzB,QAAA,MAAM,GAAG;IACpB,WAAW,EAAE,CAAC,KAAe,EAAE,EAAE;QAC/B,QAAQ,GAAG,KAAK,CAAA;IAClB,CAAC;IACD,KAAK,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE;QAC5B,IAAI,QAAQ,IAAI,QAAQ,CAAC,KAAK;YAAE,OAAO,CAAC,KAAK,CAAC,IAAA,aAAK,EAAC,GAAG,IAAI,CAAC,CAAC,CAAA;IAC/D,CAAC;IACD,IAAI,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE;QAC3B,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI;YAAE,OAAO,CAAC,IAAI,CAAC,IAAA,YAAI,EAAC,GAAG,IAAI,CAAC,CAAC,CAAA;IAC5D,CAAC;IACD,IAAI,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE;QAC3B,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI;YAAE,OAAO,CAAC,IAAI,CAAC,IAAA,YAAI,EAAC,GAAG,IAAI,CAAC,CAAC,CAAA;IAC5D,CAAC;IACD,SAAS,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE;QAChC,OAAO,CAAC,IAAI,CAAC,IAAA,YAAI,EAAC,GAAG,IAAI,CAAC,CAAC,CAAA;IAC7B,CAAC;IACD,KAAK,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE;QAC5B,IAAI,QAAQ,IAAI,QAAQ,CAAC,KAAK;YAAE,OAAO,CAAC,KAAK,CAAC,IAAA,aAAK,EAAC,GAAG,IAAI,CAAC,CAAC,CAAA;IAC/D,CAAC;CACF,CAAA;AAED;;;;;;GAMG;AACH,SAAgB,aAAa,CAAC,GAAW,EAAE,SAAS,GAAG,CAAC;IACtD,cAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACjB,IAAA,6BAAmB,EAAC,SAAS,CAAC,CAAA;AAChC,CAAC","sourcesContent":["import chalk from 'chalk'\nimport { Console } from 'console'\nimport { exitWithUpdateCheck } from './updates'\n\n// Redirect all console output to stderr, so that JSON output to stdout in parse\n// mode can be piped to other commands\nconst console = new Console(process.stderr)\n\nexport const error = chalk.red\nexport const success = chalk.green\nexport const info = chalk.white\nexport const warn = chalk.yellow\nexport const debug = chalk.gray\nexport const verbose = chalk.cyan\nexport const highlight = chalk.bold\nexport const reset = chalk.reset\nexport const underline = chalk.underline\n\nexport enum LogLevel {\n Nothing = 0,\n Error = 1,\n Warn = 2,\n Info = 3,\n Debug = 4,\n}\n\nlet logLevel: LogLevel = LogLevel.Info\n\nexport const logger = {\n setLogLevel: (level: LogLevel) => {\n logLevel = level\n },\n error: (...msgs: unknown[]) => {\n if (logLevel >= LogLevel.Error) console.error(error(...msgs))\n },\n warn: (...msgs: unknown[]) => {\n if (logLevel >= LogLevel.Warn) console.warn(warn(...msgs))\n },\n info: (...msgs: unknown[]) => {\n if (logLevel >= LogLevel.Info) console.info(info(...msgs))\n },\n infoForce: (...msgs: unknown[]) => {\n console.info(info(...msgs))\n },\n debug: (...msgs: unknown[]) => {\n if (logLevel >= LogLevel.Debug) console.debug(debug(...msgs))\n },\n}\n\n/**\n * Exit the process with an error message. The `never` type tells TypeScript\n * that code after this will not be executed.\n *\n * @param msg Error message\n * @param errorCode Optional command exit code, defaults to 1\n */\nexport function exitWithError(msg: string, errorCode = 1): never {\n logger.error(msg)\n exitWithUpdateCheck(errorCode)\n}\n"]}