code_junkie

Python logging in Django

Nov 12th, 2011
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.50 KB | None | 0 0
  1. sviewlog = logging.getLogger('MyApp.views.scans')
  2. view_log_handler = logging.FileHandler('C:\MyApp\logs\scan_log.log')
  3. view_log_handler.setLevel(logging.INFO)
  4. view_log_handler.setFormatter(logging.Formatter('%(asctime)s %(name)-12s %(levelname)-8s %(message)s'))
  5. sviewlog.addHandler(view_log_handler)
  6.  
  7. # file logconfig.py
  8. if not hasattr(logging, "set_up_done"):
  9. logging.set_up_done=False
  10.  
  11. def set_up(myhome):
  12. if logging.set_up_done:
  13. return
  14. # set up your logging here
  15. # ...
  16. logging.set_up_done=True
  17.  
  18. def init_logging():
  19. stdoutHandler = logging.StreamHandler( sys.stdout )
  20. stdoutHandler.setLevel( DEBUG )
  21. stdoutHandler.setFormatter( logging.Formatter( LOG_FORMAT_WITH_TIME ) )
  22. logging.getLogger( LOG_AREA1 ).addHandler( stdoutHandler )
  23.  
  24. logInitDone=False
  25. if not logInitDone:
  26. logInitDone = True
  27. init_logging()
  28.  
  29. def init_logging():
  30. stdoutHandler = logging.StreamHandler( sys.stdout )
  31. stdoutHandler.setLevel( DEBUG )
  32. stdoutHandler.setFormatter( logging.Formatter( LOG_FORMAT_WITH_TIME ) )
  33. logger = logging.getLogger( LOG_AREA1 )
  34. if len(logger.handlers) < 1:
  35. logger.addHandler( stdoutHandler )
  36.  
  37. from django.http import HttpResponse
  38. from magic import makeLogger
  39. from magic import getLogger
  40.  
  41. makeLogger('myLogName', '/path/to/myLogName.log')
  42. def testLogger(request):
  43. logger = getLogger('myLogName')
  44. logger.debug('this worked')
  45. return HttpResponse('TEXT, HTML or WHATEVER')
  46.  
  47. from django.conf import settings
  48. from django.core.exceptions import MiddlewareNotUsed
  49. import logging
  50. import logging.handlers
  51. import logging.config
  52.  
  53. __all__ = ('LoggingConfigMiddleware',)
  54.  
  55.  
  56. class LoggingConfigMiddleware:
  57. def __init__(self):
  58. '''Initialise the logging setup from settings, called on first request.'''
  59. if hasattr(settings, 'LOGGING'):
  60. logging.config.dictConfig(settings.LOGGING)
  61. elif getattr(settings, 'DEBUG', False):
  62. print 'No logging configured.'
  63. raise MiddlewareNotUsed('Logging setup only.')
  64.  
  65. 'loggers': {
  66. 'django': {
  67. 'handlers':['null'],
  68. 'propagate': True,
  69. 'level':'INFO',
  70. },
  71. 'django.request': {
  72. 'handlers': ['console'],
  73. 'level': 'ERROR',
  74. 'propagate': False,
  75. },
  76. 'project': {
  77. 'handlers': ['console', 'project-log-file'],
  78. 'level': 'DEBUG',
  79. 'propagate': True,
  80. },
  81. 'project.customapp': {
  82. 'handlers': ['console', 'customapp-log-file'],
  83. 'level': 'DEBUG',
  84. 'propagate': False,
  85. },
  86. }
Add Comment
Please, Sign In to add comment