Merge pull request #695 from Codium-ai/ok/analytics

Add support for analytics file
This commit is contained in:
Ori Kotek
2024-02-25 11:17:09 +02:00
committed by GitHub
2 changed files with 25 additions and 4 deletions

View File

@ -6,6 +6,8 @@ from enum import Enum
from loguru import logger
from pr_agent.config_loader import get_settings
class LoggingFormat(str, Enum):
CONSOLE = "CONSOLE"
@ -16,6 +18,10 @@ def json_format(record: dict) -> str:
return record["message"]
def analytics_filter(record: dict) -> bool:
return record.get("extra", {}).get("analytics", False)
def setup_logger(level: str = "INFO", fmt: LoggingFormat = LoggingFormat.CONSOLE):
level: int = logging.getLevelName(level.upper())
if type(level) is not int:
@ -34,6 +40,19 @@ def setup_logger(level: str = "INFO", fmt: LoggingFormat = LoggingFormat.CONSOLE
logger.remove(None)
logger.add(sys.stdout, level=level, colorize=True)
log_folder = get_settings().get("CONFIG.ANALYTICS_FOLDER", "")
if log_folder:
pid = os.getpid()
log_file = os.path.join(log_folder, f"pr-agent.{pid}.log")
logger.add(
log_file,
filter=analytics_filter,
level=level,
format="{message}",
colorize=False,
serialize=True,
)
return logger