faiss_rag_enterprise/llama_index/logger/base.py

40 lines
995 B
Python

"""Logger class."""
from typing import Any, Dict, List, Set
class LlamaLogger:
"""Logger class."""
def __init__(self) -> None:
"""Init params."""
self._logs: List[Dict] = []
self._metadata: Dict[str, Any] = {}
def reset(self) -> None:
"""Reset logs."""
self._logs = []
def set_metadata(self, metadata: Dict) -> None:
"""Set metadata."""
self._metadata.update(metadata)
def unset_metadata(self, metadata_keys: Set) -> None:
"""Unset metadata."""
for key in metadata_keys:
self._metadata.pop(key, None)
def get_metadata(self) -> Dict:
"""Get metadata."""
return self._metadata
def add_log(self, log: Dict) -> None:
"""Add log."""
updated_log = {**self._metadata, **log}
# TODO: figure out better abstraction
self._logs.append(updated_log)
def get_logs(self) -> List[Dict]:
"""Get logs."""
return self._logs