Vexa's picture
Duplicate from pivich/sovits-new
d5d7329
raw
history blame contribute delete
No virus
1.17 kB
import os
import sys
from logging import DEBUG, INFO, StreamHandler, basicConfig, captureWarnings, getLogger
from pathlib import Path
from rich.logging import RichHandler
LOGGER_INIT = False
def init_logger() -> None:
global LOGGER_INIT
if LOGGER_INIT:
return
IS_TEST = "test" in Path.cwd().stem
package_name = sys.modules[__name__].__package__
basicConfig(
level=INFO,
format="%(asctime)s %(message)s",
datefmt="[%X]",
handlers=[
StreamHandler() if is_notebook() else RichHandler(),
# FileHandler(f"{package_name}.log"),
],
)
if IS_TEST:
getLogger(package_name).setLevel(DEBUG)
captureWarnings(True)
LOGGER_INIT = True
def is_notebook():
try:
from IPython import get_ipython
if "IPKernelApp" not in get_ipython().config: # pragma: no cover
raise ImportError("console")
return False
if "VSCODE_PID" in os.environ: # pragma: no cover
raise ImportError("vscode")
return False
except Exception:
return False
else: # pragma: no cover
return True