feat: logging (#39)

* add logging

* simplify the logger

* formatting

* final touches

* fix format

* Model: Add log to metrics

Signed-off-by: kingbri <bdashore3@proton.me>

---------

Authored-by: AlpinDale <52078762+AlpinDale@users.noreply.github.com>
This commit is contained in:
AlpinDale
2023-12-23 04:33:31 +00:00
committed by GitHub
parent f5314fcdad
commit 6a5bbd217c
11 changed files with 170 additions and 74 deletions

View File

@@ -4,6 +4,10 @@ Functions for logging generation events.
from typing import Dict
from pydantic import BaseModel
from logger import init_logger
logger = init_logger(__name__)
class LogConfig(BaseModel):
"""Logging preference config."""
@@ -38,24 +42,24 @@ def broadcast_status():
enabled.append("generation params")
if len(enabled) > 0:
print("Generation logging is enabled for: " + ", ".join(enabled))
logger.info("Generation logging is enabled for: " + ", ".join(enabled))
else:
print("Generation logging is disabled")
logger.info("Generation logging is disabled")
def log_generation_params(**kwargs):
"""Logs generation parameters to console."""
if CONFIG.generation_params:
print(f"Generation options: {kwargs}\n")
logger.info(f"Generation options: {kwargs}\n")
def log_prompt(prompt: str):
"""Logs the prompt to console."""
if CONFIG.prompt:
print(f"Prompt: {prompt if prompt else 'Empty'}\n")
logger.info(f"Prompt: {prompt if prompt else 'Empty'}\n")
def log_response(response: str):
"""Logs the response to console."""
if CONFIG.prompt:
print(f"Response: {response if response else 'Empty'}\n")
logger.info(f"Response: {response if response else 'Empty'}\n")