PHP WebShell

Текущая директория: /opt/BitGoJS/node_modules/@hashgraph/sdk/lib/logger

Просмотр файла: Logger.cjs

"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = void 0;
var _pino = _interopRequireDefault(require("pino"));
var _LogLevel = _interopRequireDefault(require("./LogLevel.cjs"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/*-
 * ‌
 * Hedera JavaScript SDK
 * ​
 * Copyright (C) 2020 - 2022 Hedera Hashgraph, LLC
 * ​
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * ‍
 */

class Logger {
  /**
   * @param {LogLevel} level
   */
  constructor(level) {
    /**
     * @private
     * @type {import("pino").Logger}
     */
    this._logger = (0, _pino.default)({
      level: level.toString(),
      transport: {
        target: "pino-pretty",
        options: {
          translateTime: "SYS:dd-mm-yyyy HH:MM:ss",
          ignore: "pid,hostname"
        }
      }
    });

    /**
     * @private
     * @type {LogLevel}
     */
    this._previousLevel = level;
  }

  /**
   * Set logger
   *
   * @public
   * @param {import("pino").Logger} logger
   * @returns {this}
   */
  setLogger(logger) {
    this._logger = logger;
    return this;
  }

  /**
   * Set log level
   *
   * @public
   * @param {LogLevel} level
   * @returns {this}
   */
  setLevel(level) {
    this._previousLevel = _LogLevel.default._fromString(this._logger.level);
    this._logger.level = level.toString();
    return this;
  }

  /**
   * Get logging level
   *
   * @public
   * @returns {LogLevel}
   */
  get level() {
    return _LogLevel.default._fromString(this._logger.level);
  }

  /**
   * Get logging level
   *
   * @public
   * @returns {{[level: number]: string}}
   */
  get levels() {
    return this._logger.levels.labels;
  }

  /**
   * Set silent mode on/off
   *
   * @public
   * @description If set to true, the logger will not display any log messages
   * - This can also be achieved by calling `.setLevel(LogLevel.Silent)`
   * @param {boolean} silent
   * @returns {this}
   */
  setSilent(silent) {
    if (silent) {
      this._logger.level = _LogLevel.default.Silent.toString();
    } else {
      // Here we are setting the level to the previous level, before silencing the logger
      this._logger.level = this._previousLevel.toString();
    }
    return this;
  }

  /**
   * Get silent mode
   *
   * @public
   * @returns {boolean}
   */
  get silent() {
    return this._logger.level == _LogLevel.default.Silent.toString();
  }

  /**
   * Log trace
   *
   * @public
   * @param {string} message
   * @returns {void}
   */
  trace(message) {
    this._logger.trace(message);
  }

  /**
   * Log debug
   *
   * @public
   * @param {string} message
   * @returns {void}
   */
  debug(message) {
    this._logger.debug(message);
  }

  /**
   * Log info
   *
   * @public
   * @param {string} message
   * @returns {void}
   */
  info(message) {
    this._logger.info(message);
  }

  /**
   * Log warn
   *
   * @public
   * @param {string} message
   * @returns {void}
   */
  warn(message) {
    this._logger.warn(message);
  }

  /**
   * Log error
   *
   * @public
   * @param {string} message
   * @returns {void}
   */
  error(message) {
    this._logger.error(message);
  }

  /**
   * Log fatal
   *
   * @public
   * @param {string} message
   * @returns {void}
   */
  fatal(message) {
    this._logger.fatal(message);
  }
}
exports.default = Logger;

Выполнить команду


Для локальной разработки. Не используйте в интернете!