66 lines
1.6 KiB
YAML
66 lines
1.6 KiB
YAML
version: 1
|
|
|
|
custom_levels:
|
|
OBSERVATION: 24
|
|
ACTION: 25
|
|
CHAT: 26
|
|
LLM: 9
|
|
|
|
formatters:
|
|
# Console output
|
|
colored:
|
|
class: colorlog.ColoredFormatter
|
|
format: "{log_color}{asctime}.{msecs:03.0f} | {levelname:11} | {name:70} | {message}"
|
|
style: "{"
|
|
datefmt: "%H:%M:%S"
|
|
|
|
# User-facing UI (structured JSON)
|
|
json:
|
|
class: pythonjsonlogger.jsonlogger.JsonFormatter
|
|
format: "{name} {levelname} {levelno} {message} {created} {relativeCreated}"
|
|
style: "{"
|
|
|
|
# Experiment stream for console and file output, with optional `role` field
|
|
experiment:
|
|
class: control_backend.logging.OptionalFieldFormatter
|
|
format: "%(asctime)s %(levelname)s %(role?)s %(message)s"
|
|
defaults:
|
|
role: "-"
|
|
|
|
filters:
|
|
# Filter out any log records that have the extra field "partial" set to True, indicating that they
|
|
# will be replaced later.
|
|
partial:
|
|
(): control_backend.logging.PartialFilter
|
|
|
|
handlers:
|
|
console:
|
|
class: logging.StreamHandler
|
|
level: DEBUG
|
|
formatter: colored
|
|
filters: [partial]
|
|
stream: ext://sys.stdout
|
|
ui:
|
|
class: zmq.log.handlers.PUBHandler
|
|
level: LLM
|
|
formatter: json
|
|
file:
|
|
class: control_backend.logging.DatedFileHandler
|
|
formatter: experiment
|
|
filters: [partial]
|
|
# Directory must match config.logging_settings.experiment_log_directory
|
|
file_prefix: experiment_logs/experiment
|
|
|
|
# Level for external libraries
|
|
root:
|
|
level: WARN
|
|
handlers: [console]
|
|
|
|
loggers:
|
|
control_backend:
|
|
level: LLM
|
|
handlers: [ui]
|
|
experiment: # This name must match config.logging_settings.experiment_logger_name
|
|
level: DEBUG
|
|
handlers: [ui, file]
|