mirror of
https://github.com/LmeSzinc/StarRailCopilot.git
synced 2024-11-26 18:20:42 +00:00
5ef664f26e
FIx: [EN] Minor fix in translation.
57 lines
1.5 KiB
Python
57 lines
1.5 KiB
Python
import logging
|
|
import datetime
|
|
import os
|
|
import sys
|
|
from collections import deque
|
|
|
|
logging.raiseExceptions = False # Set True if wanna see encode errors on console
|
|
|
|
pyw_name = os.path.splitext(os.path.basename(sys.argv[0]))[0]
|
|
if '_' in pyw_name:
|
|
pyw_name = '_'.join(pyw_name.split('_')[:-1])
|
|
|
|
logger = logging.getLogger()
|
|
logger.setLevel(logging.INFO)
|
|
|
|
formatter = logging.Formatter(fmt='%(asctime)s.%(msecs)03d | %(levelname)s | %(message)s', datefmt='%Y-%m-%d %H:%M:%S')
|
|
|
|
console = logging.StreamHandler()
|
|
console.setFormatter(formatter)
|
|
logger.addHandler(console)
|
|
|
|
log_file = f'./log/{datetime.date.today()}_{pyw_name}.txt'
|
|
try:
|
|
file = logging.FileHandler(log_file)
|
|
except FileNotFoundError:
|
|
os.mkdir('./log')
|
|
file = logging.FileHandler(log_file)
|
|
file.setFormatter(formatter)
|
|
logger.addHandler(file)
|
|
|
|
|
|
def hr(title, level=3):
|
|
title = str(title).upper()
|
|
if level == 1:
|
|
logger.info('=' * 20 + ' ' + title + ' ' + '=' * 20)
|
|
if level == 2:
|
|
logger.info('-' * 20 + ' ' + title + ' ' + '-' * 20)
|
|
if level == 3:
|
|
logger.info('<' * 3 + ' ' + title + ' ' + '>' * 3)
|
|
if level == 0:
|
|
middle = '|' + ' ' * 20 + title + ' ' * 20 + '|'
|
|
border = '+' + '-' * (len(middle) - 2) + '+'
|
|
logger.info(border)
|
|
logger.info(middle)
|
|
logger.info(border)
|
|
|
|
|
|
def attr(name, text):
|
|
logger.info('[%s] %s' % (str(name), str(text)))
|
|
|
|
|
|
logger.hr = hr
|
|
logger.attr = attr
|
|
logger.screenshot_deque = deque(maxlen=60)
|
|
|
|
logger.hr('Start', level=0)
|