onnxruntime

Форк
0
46 строк · 1.4 Кб
1
// Copyright (c) Microsoft Corporation. All rights reserved.
2
// Licensed under the MIT License.
3

4
import { Env } from 'onnxruntime-common';
5

6
import { logLevelStringToEnum } from '../wasm-common';
7

8
type LogLevel = NonNullable<Env['logLevel']>;
9
type MessageString = string;
10
type MessageFunction = () => string;
11
type Message = MessageString | MessageFunction;
12

13
const logLevelPrefix = ['V', 'I', 'W', 'E', 'F'];
14

15
const doLog = (level: number, message: string): void => {
16
  // eslint-disable-next-line no-console
17
  console.log(`[${logLevelPrefix[level]},${new Date().toISOString()}]${message}`);
18
};
19

20
let configLogLevel: LogLevel | undefined;
21
let debug: boolean | undefined;
22

23
export const configureLogger = ($configLogLevel: LogLevel, $debug: boolean): void => {
24
  configLogLevel = $configLogLevel;
25
  debug = $debug;
26
};
27

28
/**
29
 * A simple logging utility to log messages to the console.
30
 */
31
export const LOG = (logLevel: LogLevel, msg: Message): void => {
32
  const messageLevel = logLevelStringToEnum(logLevel);
33
  const configLevel = logLevelStringToEnum(configLogLevel);
34
  if (messageLevel >= configLevel) {
35
    doLog(messageLevel, typeof msg === 'function' ? msg() : msg);
36
  }
37
};
38

39
/**
40
 * A simple logging utility to log messages to the console. Only logs when debug is enabled.
41
 */
42
export const LOG_DEBUG: typeof LOG = (...args: Parameters<typeof LOG>) => {
43
  if (debug) {
44
    LOG(...args);
45
  }
46
};
47

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.