 <p>The reason for the error is that, the pisa module some time uses the Python's logging module to log warnings or errors. By default it is trying to access a logger named <code>xhtml2pdf</code>. So you need to define a handler for <code>xhtml2pdf</code> on your settings file.</p> <p>Django's logging settings would look like this,</p> <pre><code>LOGGING = { 'version': 1, 'disable_existing_loggers': True, 'formatters': { 'standard': { 'format': "[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s", 'datefmt': "%d/%b/%Y %H:%M:%S" }, }, 'handlers': { 'logfile': { 'level': 'DEBUG', 'filename': BASE_DIR + "/Log/info.log" }, 'console': { 'level': 'INFO', 'class': 'logging.StreamHandler', 'formatter': 'standard' }, }, 'loggers': { 'django': { 'handlers': ['console'], 'propagate': True, 'level': 'WARN', }, 'xhtml2pdf': { 'handlers': ['logfile'], 'level': 'DEBUG' }, } } </code></pre> <p>The reason for this error's inconsistacy is bacause, pisa maynot use logger all the time.</p>