# level: 设置日志级别,默认为logging.WARNING # stream: 指定将日志的输出流,可以指定输出到sys.stderr,sys.stdout或者文件,默认输出到sys.stderr,当stream和filename同时指定时,stream被忽略 logging.basicConfig( level=logging.DEBUG, format="%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s", datefmt="%a, %d %b %Y %H:%M:%S", filename="myapp.log", filemode="w", ) # define a new log level console = logging.StreamHandler() console.setLevel(logging.INFO) formatter = logging.Formatter("%(name)-12s: %(levelname)-8s %(message)s") console.setFormatter(formatter) logging.getLogger("").addHandler(console) logging.debug("This is debug message") logging.info("This is info message") logging.warning("This is warning message") # log file split Rthandler = RotatingFileHandler("myapp1.log", maxBytes=10 * 1024 * 1024, backupCount=5) Rthandler.setLevel(logging.INFO) formatter = logging.Formatter("%(name)-12s: %(levelname)-8s %(message)s") Rthandler.setForamtter(formatter) logging.getLogger("").addHandler(Rthandler)