diff options
author | BoYanZh <32470225+BoYanZh@users.noreply.github.com> | 2020-10-02 02:10:00 +0800 |
---|---|---|
committer | BoYanZh <32470225+BoYanZh@users.noreply.github.com> | 2020-10-02 02:10:00 +0800 |
commit | 126a4e5114be8a2f31d3325f001bc4cc68b42fcf (patch) | |
tree | 212b096af29458fe6e68094e618d9e2ddc8307d3 /util.py | |
parent | 20bd235dc4816c48eaedf0ef005da3143c12b12d (diff) |
Initial commit
Diffstat (limited to 'util.py')
-rw-r--r-- | util.py | 30 |
1 files changed, 30 insertions, 0 deletions
@@ -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 |