@jenova-marie/wonder-logger - v1.0.12
    Preparing search index...

    Function loadConfig

    • Loads config from default location or provided path

      Parameters

      • options: { configPath?: string; required?: boolean } = {}

        Optional configuration

        • OptionalconfigPath?: string

          Custom config file path

        • Optionalrequired?: boolean

          Whether config file is required (defaults to true)

      Returns
          | {
              service: { name: string; version: string; environment: string };
              logger: {
                  enabled: boolean;
                  level: "fatal" | "error" | "warn" | "info" | "debug" | "trace" | "silent";
                  redact: string[];
                  transports: (
                      | {
                          type: "console";
                          pretty: boolean;
                          level?: "fatal"
                          | "error"
                          | "warn"
                          | "info"
                          | "debug"
                          | "trace";
                          prettyOptions?: {
                              colorize?: boolean;
                              translateTime?: string;
                              ignore?: string;
                              singleLine?: boolean;
                          };
                      }
                      | {
                          type: "file";
                          dir: string;
                          fileName: string;
                          level?: "fatal"
                          | "error"
                          | "warn"
                          | "info"
                          | "debug"
                          | "trace";
                          sync: boolean;
                          mkdir: boolean;
                      }
                      | {
                          type: "otel";
                          endpoint: string;
                          level?: "fatal"
                          | "error"
                          | "warn"
                          | "info"
                          | "debug"
                          | "trace";
                          exportIntervalMillis: number;
                      }
                      | {
                          type: "memory";
                          name?: string;
                          maxSize: number;
                          level?: "fatal"
                          | "error"
                          | "warn"
                          | "info"
                          | "debug"
                          | "trace";
                      }
                  )[];
                  plugins: { traceContext: boolean; morganStream: boolean };
              };
              otel: {
                  enabled: boolean;
                  tracing: {
                      enabled: boolean;
                      exporter: "console"
                      | "otlp"
                      | "jaeger";
                      endpoint?: string;
                      sampleRate: number;
                  };
                  metrics: {
                      enabled: boolean;
                      exporters: (
                          | { type: "prometheus"; port: number }
                          | { type: "otlp"; endpoint: string; exportIntervalMillis: number }
                      )[];
                      exportIntervalMillis: number;
                  };
                  instrumentation: { auto: boolean; http: boolean };
              };
              _configDir?: string;
          }
          | null

      Validated configuration object, or null if not required and not found

      • {
            service: { name: string; version: string; environment: string };
            logger: {
                enabled: boolean;
                level: "fatal" | "error" | "warn" | "info" | "debug" | "trace" | "silent";
                redact: string[];
                transports: (
                    | {
                        type: "console";
                        pretty: boolean;
                        level?: "fatal"
                        | "error"
                        | "warn"
                        | "info"
                        | "debug"
                        | "trace";
                        prettyOptions?: {
                            colorize?: boolean;
                            translateTime?: string;
                            ignore?: string;
                            singleLine?: boolean;
                        };
                    }
                    | {
                        type: "file";
                        dir: string;
                        fileName: string;
                        level?: "fatal"
                        | "error"
                        | "warn"
                        | "info"
                        | "debug"
                        | "trace";
                        sync: boolean;
                        mkdir: boolean;
                    }
                    | {
                        type: "otel";
                        endpoint: string;
                        level?: "fatal"
                        | "error"
                        | "warn"
                        | "info"
                        | "debug"
                        | "trace";
                        exportIntervalMillis: number;
                    }
                    | {
                        type: "memory";
                        name?: string;
                        maxSize: number;
                        level?: "fatal"
                        | "error"
                        | "warn"
                        | "info"
                        | "debug"
                        | "trace";
                    }
                )[];
                plugins: { traceContext: boolean; morganStream: boolean };
            };
            otel: {
                enabled: boolean;
                tracing: {
                    enabled: boolean;
                    exporter: "console"
                    | "otlp"
                    | "jaeger";
                    endpoint?: string;
                    sampleRate: number;
                };
                metrics: {
                    enabled: boolean;
                    exporters: (
                        | { type: "prometheus"; port: number }
                        | { type: "otlp"; endpoint: string; exportIntervalMillis: number }
                    )[];
                    exportIntervalMillis: number;
                };
                instrumentation: { auto: boolean; http: boolean };
            };
            _configDir?: string;
        }
        • service: { name: string; version: string; environment: string }
        • logger: {
              enabled: boolean;
              level: "fatal" | "error" | "warn" | "info" | "debug" | "trace" | "silent";
              redact: string[];
              transports: (
                  | {
                      type: "console";
                      pretty: boolean;
                      level?: "fatal"
                      | "error"
                      | "warn"
                      | "info"
                      | "debug"
                      | "trace";
                      prettyOptions?: {
                          colorize?: boolean;
                          translateTime?: string;
                          ignore?: string;
                          singleLine?: boolean;
                      };
                  }
                  | {
                      type: "file";
                      dir: string;
                      fileName: string;
                      level?: "fatal"
                      | "error"
                      | "warn"
                      | "info"
                      | "debug"
                      | "trace";
                      sync: boolean;
                      mkdir: boolean;
                  }
                  | {
                      type: "otel";
                      endpoint: string;
                      level?: "fatal"
                      | "error"
                      | "warn"
                      | "info"
                      | "debug"
                      | "trace";
                      exportIntervalMillis: number;
                  }
                  | {
                      type: "memory";
                      name?: string;
                      maxSize: number;
                      level?: "fatal"
                      | "error"
                      | "warn"
                      | "info"
                      | "debug"
                      | "trace";
                  }
              )[];
              plugins: { traceContext: boolean; morganStream: boolean };
          }
        • otel: {
              enabled: boolean;
              tracing: {
                  enabled: boolean;
                  exporter: "console" | "otlp" | "jaeger";
                  endpoint?: string;
                  sampleRate: number;
              };
              metrics: {
                  enabled: boolean;
                  exporters: (
                      | { type: "prometheus"; port: number }
                      | { type: "otlp"; endpoint: string; exportIntervalMillis: number }
                  )[];
                  exportIntervalMillis: number;
              };
              instrumentation: { auto: boolean; http: boolean };
          }
        • Optional_configDir?: string

          Internal metadata: directory containing the config file Used to resolve relative paths. Not specified in YAML.

      • null

      Error if config is required but not found, or if validation fails

      // Load from default location (wonder-logger.yaml in cwd)
      const config = loadConfig()

      // Load from custom path
      const config = loadConfig({ configPath: './config/custom.yaml' })

      // Optional config (returns null if not found)
      const config = loadConfig({ required: false })