Replace get_stdout() with SAFE_STDOUT

This commit is contained in:
litagin02
2023-12-30 18:45:04 +09:00
parent 6e8bcc2219
commit a9652979cc
10 changed files with 24 additions and 24 deletions

View File

@@ -3,7 +3,7 @@ logger封装
"""
from loguru import logger
from .stdout_wrapper import get_stdout
from .stdout_wrapper import SAFE_STDOUT
# 移除所有默认的处理器
logger.remove()
@@ -13,4 +13,4 @@ log_format = (
"<g>{time:MM-DD HH:mm:ss}</g> |<lvl>{level:^8}</lvl>| {file}:{line} | {message}"
)
logger.add(get_stdout(), format=log_format, backtrace=True, diagnose=True)
logger.add(SAFE_STDOUT, format=log_format, backtrace=True, diagnose=True)

View File

@@ -26,9 +26,9 @@ class StdoutWrapper:
return self.temp_file.fileno()
def get_stdout():
# Colab 環境をチェックする
if "google.colab" in sys.modules:
return StdoutWrapper()
else:
return sys.stdout
try:
import google.colab
SAFE_STDOUT = StdoutWrapper()
except ImportError:
SAFE_STDOUT = sys.stdout

View File

@@ -2,7 +2,7 @@ import subprocess
import sys
from .log import logger
from .stdout_wrapper import get_stdout
from .stdout_wrapper import SAFE_STDOUT
python = sys.executable
@@ -11,7 +11,7 @@ def run_script_with_log(cmd: list[str]) -> tuple[bool, str]:
logger.info(f"Running: {' '.join(cmd)}")
result = subprocess.run(
[python] + cmd,
stdout=get_stdout(), # type: ignore
stdout=SAFE_STDOUT, # type: ignore
stderr=subprocess.PIPE,
text=True,
)