From 126a4e5114be8a2f31d3325f001bc4cc68b42fcf Mon Sep 17 00:00:00 2001 From: BoYanZh <32470225+BoYanZh@users.noreply.github.com> Date: Fri, 2 Oct 2020 02:10:00 +0800 Subject: Initial commit --- util.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 util.py (limited to 'util.py') diff --git a/util.py b/util.py new file mode 100644 index 0000000..e1c9e2d --- /dev/null +++ b/util.py @@ -0,0 +1,30 @@ +import logging + + +class Logger(): + _instance = None + + def __new__(cls, fileName="VG101GradeHelper.log", loggerName="myLogger"): + if cls._instance is None: + logger = logging.getLogger(loggerName) + formatter = logging.Formatter( + '[%(asctime)s][%(levelname)8s][%(filename)s %(lineno)3s]%(message)s' + ) + logger.setLevel(logging.DEBUG) + streamHandler = logging.StreamHandler() + streamHandler.setFormatter(formatter) + streamHandler.setLevel(logging.WARNING) + fileHandler = logging.FileHandler(filename=fileName) + fileHandler.setFormatter(formatter) + fileHandler.setLevel(logging.DEBUG) + logger.addHandler(fileHandler) + logger.addHandler(streamHandler) + cls._instance = logger + return cls._instance + + +def first(iterable, condition=lambda x: True): + try: + return next(x for x in iterable if condition(x)) + except StopIteration: + return None \ No newline at end of file -- cgit v1.2.3