def configure_sc_logging(use_syslog=False): """ Configure logging for StarCluster *application* code By default StarCluster's logger has no formatters and a NullHandler so that other developers using StarCluster as a library can configure logging as they see fit. This method is used in StarCluster's application code (i.e. the 'starcluster' command) to toggle StarCluster's application specific formatters/handlers use_syslog - enable logging all messages to syslog. currently only works if /dev/log exists on the system (standard for most Linux distros) """ log.setLevel(logging.DEBUG) formatter = logging.Formatter(DEBUG_FORMAT_PID.rstrip()) static.create_sc_config_dirs() rfh = logging.handlers.RotatingFileHandler(static.DEBUG_FILE, maxBytes=1048576, backupCount=2) rfh.setLevel(logging.DEBUG) rfh.setFormatter(formatter) log.addHandler(rfh) console.setLevel(logging.INFO) log.addHandler(console) session.setLevel(logging.DEBUG) session.setFormatter(formatter) log.addHandler(session) syslog_device = '/dev/log' if use_syslog and os.path.exists(syslog_device): log.debug("Logging to %s" % syslog_device) syslog_handler = logging.handlers.SysLogHandler(address=syslog_device) syslog_handler.setFormatter(formatter) syslog_handler.setLevel(logging.DEBUG) log.addHandler(syslog_handler)
def configure_sc_logging(use_syslog=False): """ Configure logging for StarCluster *application* code By default StarCluster's logger has no formatters and a NullHandler so that other developers using StarCluster as a library can configure logging as they see fit. This method is used in StarCluster's application code (i.e. the 'starcluster' command) to toggle StarCluster's application specific formatters/handlers use_syslog - enable logging all messages to syslog. currently only works if /dev/log exists on the system (standard for most Linux distros) """ log.setLevel(logging.DEBUG) formatter = logging.Formatter(DEBUG_FORMAT_PID) static.create_sc_config_dirs() rfh = logging.handlers.RotatingFileHandler(static.DEBUG_FILE, maxBytes=1048576, backupCount=2) rfh.setLevel(logging.DEBUG) rfh.setFormatter(formatter) log.addHandler(rfh) console.setLevel(logging.INFO) log.addHandler(console) syslog_device = '/dev/log' if use_syslog and os.path.exists(syslog_device): log.debug("Logging to %s" % syslog_device) syslog_handler = logging.handlers.SysLogHandler(address=syslog_device) syslog_handler.setFormatter(formatter) syslog_handler.setLevel(logging.DEBUG) log.addHandler(syslog_handler)
def main(): try: static.create_sc_config_dirs() logger.configure_sc_logging() warn_debug_file_moved() StarClusterCLI().main() except KeyboardInterrupt: print "Interrupted, exiting." sys.exit(1)
def configure_boto_logging(): """ Configure boto to log to a file for debug """ l = logging.getLogger("boto") l.setLevel(logging.DEBUG) static.create_sc_config_dirs() lh = logging.handlers.RotatingFileHandler(static.AWS_DEBUG_FILE, maxBytes=1048576, backupCount=2) lh.setLevel(logging.DEBUG) format = ("PID: %s " % str(static.PID)) + "%(levelname)-.3s [%(asctime)s.%(msecs)03d] " "%(name)s: %(message)s" date_format = "%Y%m%d-%H:%M:%S" lh.setFormatter(logging.Formatter(format, date_format)) l.addHandler(lh)
def configure_ssh_logging(): """ Configure ssh to log to a file for debug """ l = logging.getLogger("ssh") l.setLevel(logging.DEBUG) static.create_sc_config_dirs() lh = logging.handlers.RotatingFileHandler(static.SSH_DEBUG_FILE, maxBytes=1048576, backupCount=2) lh.setLevel(logging.DEBUG) format = (('PID: %s ' % str(static.PID)) + '%(levelname)-.3s [%(asctime)s.%(msecs)03d] ' 'thr=%(_threadid)-3d %(name)s: %(message)s') date_format = '%Y%m%d-%H:%M:%S' lh.setFormatter(logging.Formatter(format, date_format)) l.addHandler(lh)
def configure_boto_logging(): """ Configure boto to log to a file for debug """ l = logging.getLogger("boto") l.setLevel(logging.DEBUG) static.create_sc_config_dirs() lh = logging.handlers.RotatingFileHandler(static.AWS_DEBUG_FILE, maxBytes=1048576, backupCount=2) lh.setLevel(logging.DEBUG) format = (('PID: %s ' % str(static.PID)) + '%(levelname)-.3s [%(asctime)s.%(msecs)03d] ' '%(name)s: %(message)s') date_format = '%Y%m%d-%H:%M:%S' lh.setFormatter(logging.Formatter(format, date_format)) l.addHandler(lh)
def main(): static.create_sc_config_dirs() logger.configure_sc_logging() warn_debug_file_moved() StarClusterCLI().main()