Skip to content

Instantly share code, notes, and snippets.

@solidpple
Created August 11, 2016 05:34
Show Gist options
  • Select an option

  • Save solidpple/ce4b3793da04514c7b7a5ae190c7783d to your computer and use it in GitHub Desktop.

Select an option

Save solidpple/ce4b3793da04514c7b7a5ae190c7783d to your computer and use it in GitHub Desktop.
import logging
import os
class SingletonType(type):
def __call__(cls, *args, **kwargs):
try:
return cls.__instance
except AttributeError:
cls.__instance = super(SingletonType, cls).__call__(*args, **kwargs)
return cls.__instance
class CustomLogger(object):
__metaclass__ = SingletonType
_logger = None
def __init__(self):
self._logger = logging.getLogger("crumbs")
self._logger.setLevel(logging.DEBUG)
formatter = logging.Formatter('[%(levelname)s|%(filename)s:%(lineno)s] %(asctime)s > %(message)s')
import datetime
now = datetime.datetime.now()
import time
timestamp = time.mktime(now.timetuple())
dirname = './log'
if not os.path.isdir(dirname):
os.mkdir(dirname)
fileHandler = logging.FileHandler(dirname + "/Aries_"+now.strftime("%Y-%m-%d %H:%M:%S")+".log")
streamHandler = logging.StreamHandler()
fileHandler.setFormatter(formatter)
streamHandler.setFormatter(formatter)
self._logger.addHandler(fileHandler)
self._logger.addHandler(streamHandler)
def get_logger(self):
return self._logger
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment