UNPKG

@genkit-ai/core

Version:

Genkit AI framework core libraries.

1 lines 3.68 kB
{"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\nimport { LoggerConfig } from './telemetryTypes.js';\n\nconst LOG_LEVELS = ['debug', 'info', 'warn', 'error'];\n\nclass Logger {\n logger: {\n debug(...args: any);\n info(...args: any);\n warn(...args: any);\n error(...args: any);\n level: string;\n };\n\n 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\n constructor() {\n this.logger = this.defaultLogger;\n }\n\n async init(config: LoggerConfig) {\n this.logger = await config.getLogger(process.env.GENKIT_ENV || 'prod');\n }\n\n info(...args: any) {\n // eslint-disable-next-line prefer-spread\n this.logger.info.apply(this.logger, args);\n }\n debug(...args: any) {\n // eslint-disable-next-line prefer-spread\n this.logger.debug.apply(this.logger, args);\n }\n error(...args: any) {\n // eslint-disable-next-line prefer-spread\n this.logger.error.apply(this.logger, args);\n }\n warn(...args: any) {\n // eslint-disable-next-line prefer-spread\n this.logger.warn.apply(this.logger, args);\n }\n\n setLogLevel(level: 'error' | 'warn' | 'info' | 'debug') {\n this.logger.level = level;\n }\n\n logStructured(msg: string, metadata: any) {\n this.logger.info(msg, metadata);\n }\n\n logStructuredError(msg: string, metadata: any) {\n this.logger.error(msg, metadata);\n }\n}\n\nexport const logger = new Logger();\n"],"mappings":";;;AAkBA,MAAM,aAAa,CAAC,SAAS,QAAQ,QAAQ,OAAO;AAEpD,MAAM,OAAO;AAAA,EA4BX,cAAc;AAnBd,yBAAgB;AAAA,MACd,UAAU,aAAqB;AAC7B,eAAO,WAAW,QAAQ,KAAK,KAAK,KAAK,WAAW,QAAQ,WAAW;AAAA,MACzE;AAAA,MACA,SAAS,MAAW;AAClB,aAAK,UAAU,OAAO,KAAK,QAAQ,MAAM,GAAG,IAAI;AAAA,MAClD;AAAA,MACA,QAAQ,MAAW;AACjB,aAAK,UAAU,MAAM,KAAK,QAAQ,KAAK,GAAG,IAAI;AAAA,MAChD;AAAA,MACA,QAAQ,MAAW;AACjB,aAAK,UAAU,MAAM,KAAK,QAAQ,KAAK,GAAG,IAAI;AAAA,MAChD;AAAA,MACA,SAAS,MAAW;AAClB,aAAK,UAAU,OAAO,KAAK,QAAQ,MAAM,GAAG,IAAI;AAAA,MAClD;AAAA,MACA,OAAO;AAAA,IACT;AAGE,SAAK,SAAS,KAAK;AAAA,EACrB;AAAA,EAEM,KAAK,QAAsB;AAAA;AAC/B,WAAK,SAAS,MAAM,OAAO,UAAU,QAAQ,IAAI,cAAc,MAAM;AAAA,IACvE;AAAA;AAAA,EAEA,QAAQ,MAAW;AAEjB,SAAK,OAAO,KAAK,MAAM,KAAK,QAAQ,IAAI;AAAA,EAC1C;AAAA,EACA,SAAS,MAAW;AAElB,SAAK,OAAO,MAAM,MAAM,KAAK,QAAQ,IAAI;AAAA,EAC3C;AAAA,EACA,SAAS,MAAW;AAElB,SAAK,OAAO,MAAM,MAAM,KAAK,QAAQ,IAAI;AAAA,EAC3C;AAAA,EACA,QAAQ,MAAW;AAEjB,SAAK,OAAO,KAAK,MAAM,KAAK,QAAQ,IAAI;AAAA,EAC1C;AAAA,EAEA,YAAY,OAA4C;AACtD,SAAK,OAAO,QAAQ;AAAA,EACtB;AAAA,EAEA,cAAc,KAAa,UAAe;AACxC,SAAK,OAAO,KAAK,KAAK,QAAQ;AAAA,EAChC;AAAA,EAEA,mBAAmB,KAAa,UAAe;AAC7C,SAAK,OAAO,MAAM,KAAK,QAAQ;AAAA,EACjC;AACF;AAEO,MAAM,SAAS,IAAI,OAAO;","names":[]}