Я использую библиотеку Python, которая использует модуль logging
. Тем не менее, я сделал свою собственную функцию log
, которую мой сценарий использует внутри.Информация о протоколе передачи в качестве аргументов функции
Вот функция протоколирования я хочу использовать:
def log(name, content, swtch : bool = None, time = None):
time = time or datetime.now(pytz.timezone('US/Pacific'))
if swtch == True or swtch == None:
toPrint = '{1.RED}{2}/{3}/{4} {5}:{6}:{7}:{8} {9} {0.BRIGHT}{1.GREEN}{10} {0.RESET_ALL}{11}{0.RESET_ALL}'.format(
Style,
Fore,
str(time.month).zfill(2),
str(time.day).zfill(2),
str(time.year)[2:],
str(time.hour % 12).zfill(2),
str(time.minute).zfill(2),
str(time.second).zfill(2),
str(int(time.microsecond/1000)).zfill(3),
'AM' if time.hour < 12 else 'PM',
name,
content
)
print(toPrint)
log_txt = ''
if swtch == False or swtch == None:
file = open('log.txt', 'r')
log_txt = file.read()
file.close()
with open('log.txt', 'w') as file:
text = '{0}/{1}/{2} {3}:{4}:{5}:{6} {7} {8} {9}'.format(
str(time.month).zfill(2),
str(time.day).zfill(2),
str(time.year)[2:],
str(time.hour % 12).zfill(2),
str(time.minute).zfill(2),
str(time.second).zfill(2),
str(int(time.microsecond/1000)).zfill(3),
'AM' if time.hour < 12 else 'PM',
name,
content
)
file.write(log_txt + text + '\n')
Давайте работать при условии, что есть регистратор по имени some_logger
.
import logging
log = logging.getLogger('some_logger')
Есть ли способ, вместо печати на стандартный вывод, передать позиционные аргументы (представляющая информации журнала) в другую функцию вместо этого? (Чтобы уточнить: функция, которая вызовет log
с необходимыми аргументами)
, пожалуйста, покажите нам код, в котором вы хотите его использовать. –
Хорошо, отредактируйте! Thx для запроса – Dev