# This is an example of config file
# In case of no config provided, log_config.json file will be loaded
# If you need a yaml file, install pyyaml package and copy this file
version: 1
disable_existing_loggers: False
formatters:
  simple:
    format: "[%(asctime)s] | %(name)s:%(lineno)d | %(levelname)s | %(message)s"
    datefmt: "%Y-%m-%d %H:%M:%S"
  brief:
    # format: "[%(asctime)s] | %(levelname)s | %(message)s"
    format: "%(message)s"
    datefmt: "%Y-%m-%d %H:%M:%S"

handlers:
  console:
    class: rich.logging.RichHandler
    level: INFO
    formatter: brief
    show_time: true
    show_level: true
    show_path: false
    rich_tracebacks: true
    log_time_format: "%Y-%m-%d %H:%M:%S"

  error_file_handler:
    class: logging.FileHandler
    level: DEBUG
    formatter: simple
    filename: logs/log.txt
    encoding: utf8

root:
  level: DEBUG
  handlers: [console, error_file_handler]

logger_tt:
  suppress: ["numba", "jax"]
  suppress_level_below: "WARNING"
  capture_print: False
  strict: False
  guess_level: False
  full_context: 0
  use_multiprocessing: True
  limit_line_length: 1000
  analyze_raise_statement: False
  default_logger_formats:
    normal: ["%(name)s", "%(filename)s"]
    thread: ["%(message)s", "%(threadName)s %(message)s"]
    multiprocess: ["%(message)s", "%(processName)s | %(message)s"]
    both: ["%(message)s", "%(processName)s %(threadName)s %(message)s"]
