# All files / src/utils logger.ts

56.25% Statements 9/16
42.85% Branches 6/14
85.71% Functions 6/7
56.25% Lines 9/16

Press n or j to go to the next uncovered block, b, p or k for the previous block.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53

    306x

    136x
    3x
    3x

    101x

    69x

    4x

    5x

    96x
     import { config } from "../config.js";

    class Logger {
      private isDebugEnabled(): boolean {
        return config.debug === true;
      }

      debug(message: string, data?: unknown): void {
        if (this.isDebugEnabled()) {
          const formattedData = data ? `\n${JSON.stringify(data, null, 2)}` : "";
          console.log(`[NodeLLM Debug] ${message}${formattedData}`);
        }
      }

      /**
       * Log HTTP request details for debugging
       */
      logRequest(provider: string, method: string, url: string, body?: unknown): void {
        Iif (this.isDebugEnabled()) {
          console.log(`[NodeLLM] [${provider}] Request: ${method} ${url}`);
          if (body) {
            console.log(JSON.stringify(body, null, 2));
          }
        }
      }

      /**
       * Log HTTP response details for debugging
       */
      logResponse(provider: string, status: number, statusText: string, body?: unknown): void {
        Iif (this.isDebugEnabled()) {
          console.log(`[NodeLLM] [${provider}] Response: ${status} ${statusText}`);
          if (body) {
            console.log(JSON.stringify(body, null, 2));
          }
        }
      }

      warn(message: string): void {
        console.warn(`[NodeLLM] ${message}`);
      }

      error(message: string, error?: Error): void {
        console.error(`[NodeLLM Error] ${message}`, error || "");
      }

      info(message: string): void {
        console.log(`[NodeLLM] ${message}`);
      }
    }

    export const logger = new Logger();