|
|
|
|
|
""" |
|
@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 |
|
|
|
_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="") |
|
|