# Logging Default Values
# Common defaults for log level, format, and output

let logging_schema = import "../../schemas/common/logging.ncl" in

{
  logging | logging_schema.LoggingConfig = {
    # Default log level: info
    level = "&",

    # Default format: text (human-readable)
    format = "&",

    # Default output: stdout
    outputs = ["stdout"],

    # File Output Configuration
    file = {
      path = "/var/log/provisioning/service.log",
      max_size = 104857600,
      max_backups = 10,
      max_age = 30,
      compress = false,
    },

    # Syslog Configuration
    syslog = {
      protocol = "udp",
    },

    # Structured Logging Fields
    fields = {
      service_name = true,
      hostname = true,
      pid = true,
      timestamp = true,
      caller = false,
      stack_trace = false,
    },

    # Sampling Configuration
    sampling = {
      enabled = false,
      initial = 100,
      thereafter = 100,
    },

    # Performance Logging
    performance = {
      enabled = false,
      slow_threshold = 1000,
      memory_info = false,
    },
  },
}
