@genkit-ai/core
Version:
Genkit AI framework core libraries.
1 lines • 3.72 kB
Source Map (JSON)
{"version":3,"sources":["../src/logging.ts"],"sourcesContent":["/**\n * Copyright 2024 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst LOG_LEVELS = ['debug', 'info', 'warn', 'error'];\n\nconst loggerKey = '__genkit_logger';\n\nconst _defaultLogger = {\n shouldLog(targetLevel: string) {\n return LOG_LEVELS.indexOf(this.level) <= LOG_LEVELS.indexOf(targetLevel);\n },\n debug(...args: any) {\n this.shouldLog('debug') && console.debug(...args);\n },\n info(...args: any) {\n this.shouldLog('info') && console.info(...args);\n },\n warn(...args: any) {\n this.shouldLog('warn') && console.warn(...args);\n },\n error(...args: any) {\n this.shouldLog('error') && console.error(...args);\n },\n level: 'info',\n};\n\nfunction getLogger() {\n if (!global[loggerKey]) {\n global[loggerKey] = _defaultLogger;\n }\n return global[loggerKey];\n}\n\nclass Logger {\n readonly defaultLogger = _defaultLogger;\n\n init(fn: any) {\n global[loggerKey] = fn;\n }\n\n info(...args: any) {\n // eslint-disable-next-line prefer-spread\n getLogger().info.apply(getLogger(), args);\n }\n debug(...args: any) {\n // eslint-disable-next-line prefer-spread\n getLogger().debug.apply(getLogger(), args);\n }\n error(...args: any) {\n // eslint-disable-next-line prefer-spread\n getLogger().error.apply(getLogger(), args);\n }\n warn(...args: any) {\n // eslint-disable-next-line prefer-spread\n getLogger().warn.apply(getLogger(), args);\n }\n\n setLogLevel(level: 'error' | 'warn' | 'info' | 'debug') {\n getLogger().level = level;\n }\n\n logStructured(msg: string, metadata: any) {\n getLogger().info(msg, metadata);\n }\n\n logStructuredError(msg: string, metadata: any) {\n getLogger().error(msg, metadata);\n }\n}\n\n/**\n * Genkit logger.\n *\n * ```ts\n * import { logger } from 'genkit/logging';\n *\n * logger.setLogLevel('debug');\n * ```\n */\nexport const logger = new Logger();\n"],"mappings":"AAgBA,MAAM,aAAa,CAAC,SAAS,QAAQ,QAAQ,OAAO;AAEpD,MAAM,YAAY;AAElB,MAAM,iBAAiB;AAAA,EACrB,UAAU,aAAqB;AAC7B,WAAO,WAAW,QAAQ,KAAK,KAAK,KAAK,WAAW,QAAQ,WAAW;AAAA,EACzE;AAAA,EACA,SAAS,MAAW;AAClB,SAAK,UAAU,OAAO,KAAK,QAAQ,MAAM,GAAG,IAAI;AAAA,EAClD;AAAA,EACA,QAAQ,MAAW;AACjB,SAAK,UAAU,MAAM,KAAK,QAAQ,KAAK,GAAG,IAAI;AAAA,EAChD;AAAA,EACA,QAAQ,MAAW;AACjB,SAAK,UAAU,MAAM,KAAK,QAAQ,KAAK,GAAG,IAAI;AAAA,EAChD;AAAA,EACA,SAAS,MAAW;AAClB,SAAK,UAAU,OAAO,KAAK,QAAQ,MAAM,GAAG,IAAI;AAAA,EAClD;AAAA,EACA,OAAO;AACT;AAEA,SAAS,YAAY;AACnB,MAAI,CAAC,OAAO,SAAS,GAAG;AACtB,WAAO,SAAS,IAAI;AAAA,EACtB;AACA,SAAO,OAAO,SAAS;AACzB;AAEA,MAAM,OAAO;AAAA,EACF,gBAAgB;AAAA,EAEzB,KAAK,IAAS;AACZ,WAAO,SAAS,IAAI;AAAA,EACtB;AAAA,EAEA,QAAQ,MAAW;AAEjB,cAAU,EAAE,KAAK,MAAM,UAAU,GAAG,IAAI;AAAA,EAC1C;AAAA,EACA,SAAS,MAAW;AAElB,cAAU,EAAE,MAAM,MAAM,UAAU,GAAG,IAAI;AAAA,EAC3C;AAAA,EACA,SAAS,MAAW;AAElB,cAAU,EAAE,MAAM,MAAM,UAAU,GAAG,IAAI;AAAA,EAC3C;AAAA,EACA,QAAQ,MAAW;AAEjB,cAAU,EAAE,KAAK,MAAM,UAAU,GAAG,IAAI;AAAA,EAC1C;AAAA,EAEA,YAAY,OAA4C;AACtD,cAAU,EAAE,QAAQ;AAAA,EACtB;AAAA,EAEA,cAAc,KAAa,UAAe;AACxC,cAAU,EAAE,KAAK,KAAK,QAAQ;AAAA,EAChC;AAAA,EAEA,mBAAmB,KAAa,UAAe;AAC7C,cAAU,EAAE,MAAM,KAAK,QAAQ;AAAA,EACjC;AACF;AAWO,MAAM,SAAS,IAAI,OAAO;","names":[]}