summaryrefslogtreecommitdiff
path: root/util.py
diff options
context:
space:
mode:
authorBoYanZh <32470225+BoYanZh@users.noreply.github.com>2020-10-02 02:10:00 +0800
committerBoYanZh <32470225+BoYanZh@users.noreply.github.com>2020-10-02 02:10:00 +0800
commit126a4e5114be8a2f31d3325f001bc4cc68b42fcf (patch)
tree212b096af29458fe6e68094e618d9e2ddc8307d3 /util.py
parent20bd235dc4816c48eaedf0ef005da3143c12b12d (diff)
Initial commit
Diffstat (limited to 'util.py')
-rw-r--r--util.py30
1 files changed, 30 insertions, 0 deletions
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