diff options
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 |