def init_logging(logfile: Path) -> VerboseLogger: dev_sync_logger = VerboseLogger(NAME) logfile.parent.mkdir(exist_ok=True, parents=True) coloredlogs.install(level="DEBUG", milliseconds=True, logger=dev_sync_logger) dev_sync_logger.setLevel(logging.DEBUG) fh = TimedRotatingFileHandler(logfile, when="MIDNIGHT") fh.setFormatter(logging.Formatter(coloredlogs.DEFAULT_LOG_FORMAT)) dev_sync_logger.addHandler(fh) return dev_sync_logger
if self.isatty: return ansi_text(message, color=colorname, bold=bold) else: return message if __name__ == '__main__': # If my verbose logger is installed, we'll use that for the demo. try: from verboselogs import VerboseLogger as DemoLogger except ImportError: from logging import getLogger as DemoLogger # Initialize the logger. logger = DemoLogger('coloredlogs-demo') logger.addHandler(ColoredStreamHandler()) logger.setLevel(logging.DEBUG) # Print some examples with different timestamps. for level in ['debug', 'verbose', 'info', 'warn', 'error', 'critical']: if hasattr(logger, level): getattr(logger, level)("message with level %r", level) time.sleep(1) # Show how exceptions are logged. try: class RandomException(Exception): pass raise RandomException, "Something went horribly wrong!" except Exception, e: logger.exception(e)
return ansi_text(message, color=colorname, bold=bold) else: return message if __name__ == '__main__': # If my verbose logger is installed, we'll use that for the demo. try: from verboselogs import VerboseLogger as DemoLogger except ImportError: from logging import getLogger as DemoLogger # Initialize the logger. logger = DemoLogger('coloredlogs-demo') logger.addHandler(ColoredStreamHandler()) logger.setLevel(logging.DEBUG) # Print some examples with different timestamps. for level in ['debug', 'verbose', 'info', 'warn', 'error', 'critical']: if hasattr(logger, level): getattr(logger, level)("message with level %r", level) time.sleep(1) # Show how exceptions are logged. try: class RandomException(Exception): pass raise RandomException, "Something went horribly wrong!"