Spaces:
Running
Running
| #!/usr/bin/env python | |
| # -*- coding: utf-8 -*- | |
| """ | |
| @Time : 2023/6/1 12:41 | |
| @Author : alexanderwu | |
| @File : logs.py | |
| """ | |
| import sys | |
| from datetime import datetime | |
| from loguru import logger as _logger | |
| from metagpt.const import METAGPT_ROOT | |
| _print_level = "INFO" | |
| def define_log_level(print_level="INFO", logfile_level="DEBUG", name: str = None): | |
| """Adjust the log level to above level""" | |
| global _print_level | |
| _print_level = print_level | |
| current_date = datetime.now() | |
| formatted_date = current_date.strftime("%Y%m%d") | |
| log_name = f"{name}_{formatted_date}" if name else formatted_date # name a log with prefix name | |
| _logger.remove() | |
| _logger.add(sys.stderr, level=print_level) | |
| _logger.add(METAGPT_ROOT / f"logs/{log_name}.txt", level=logfile_level) | |
| return _logger | |
| logger = define_log_level() | |
| def log_llm_stream(msg): | |
| _llm_stream_log(msg) | |
| def set_llm_stream_logfunc(func): | |
| global _llm_stream_log | |
| _llm_stream_log = func | |
| def _llm_stream_log(msg): | |
| if _print_level in ["INFO"]: | |
| print(msg, end="") | |