Skip to content

Instantly share code, notes, and snippets.

@joenorton8014
Forked from zeroSteiner/log_handler.py
Created April 8, 2018 03:29
Show Gist options
  • Save joenorton8014/a90e1e0023fc06577a6f81c5281d1441 to your computer and use it in GitHub Desktop.
Save joenorton8014/a90e1e0023fc06577a6f81c5281d1441 to your computer and use it in GitHub Desktop.
Python logging.Handler for use in external Metasploit modules.
import logging
import metasploit.module as module
class MetasploitLogHandler(logging.Handler):
def emit(self, record):
log_entry = self.format(record)
level = 'debug'
if record.levelno >= logging.ERROR:
level = 'error'
elif record.levelno >= logging.WARNING:
level = 'warning'
elif record.levelno >= logging.INFO:
level = 'info'
module.log(log_entry, level)
return
@classmethod
def setup(cls, level=logging.DEBUG):
logger = logging.getLogger()
if level is not None:
logger.setLevel(level)
handler = cls()
logger.addHandler(handler)
return handler
MetasploitLogHandler.setup()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment