tabby/server/events.py

46 lines
978 B
Python
Raw Normal View History

import json
import os
import shutil
from typing import List
import models
from loguru import logger
from pydantic import BaseModel
logger.configure(handlers=[])
def setup_logging(logdir):
try:
shutil.rmtree(logdir + "/*")
except FileNotFoundError:
pass
logger.add(
os.path.join(logdir, "events.{time}.log"),
rotation="1 hours",
retention="2 hours",
level="INFO",
filter=__name__,
enqueue=True,
delay=True,
serialize=True,
)
EVENTS_LOG_DIR = os.environ.get("EVENTS_LOG_DIR", None)
if EVENTS_LOG_DIR is not None:
setup_logging(EVENTS_LOG_DIR)
def log_completions(
request: models.CompletionRequest, response: models.CompletionResponse
) -> None:
event = models.CompletionEvent.build(request, response)
logger.info(event.json())
def log_selection(id: str, index: int) -> None:
event = models.SelectionEvent.build(id, index)
logger.info(event.json())