/django/contrib/logging/__init__.py

https://code.google.com/p/mango-py/ · Python · 45 lines · 45 code · 0 blank · 0 comment · 0 complexity · 9467837aca7b2b47cd5d2db65544de70 MD5 · raw file

  1. """The Mango contrib logging module. Just a thin wrapper for python logger"""
  2. from django.conf import settings
  3. import logging, logging.handlers
  4. import os
  5. loggers = {}
  6. DEBUG=logging.DEBUG
  7. INFO=logging.INFO
  8. WARNING=logging.WARNING
  9. CRITICAL=logging.CRITICAL
  10. FATAL=logging.FATAL
  11. def getLogger(name):
  12. if name not in loggers:
  13. return logging.getLogger(name) #return python root based named logger
  14. else:
  15. return loggers[name]
  16. def init_logger(name = "mango", logfile = "mango.log"):
  17. #print "logging::init_logger(",name,",",logfile,")"
  18. fh = logging.handlers.TimedRotatingFileHandler(os.path.join(settings.LOG_DIRECTORY,logfile), 'midnight')
  19. fh.setFormatter(settings.LOGGING_FORMATTER)
  20. logger = logging.getLogger(name)
  21. logger.setLevel(settings.LOGGING_LEVEL)
  22. logger.addHandler(fh)
  23. return logger
  24. def init():
  25. """Initialise the logger from the settings file..."""
  26. # TODO: improve this
  27. for logname in settings.LOGS:
  28. loggers[logname] = init_logger(logname, "%s.log"%logname)
  29. init()
  30. #logInitDone=False
  31. #if not logInitDone:
  32. #logInitDone = True
  33. #init_logging()