标签:and 运行 bsp one logging模块 写入内容 txt 模块 用户名
logging模块:
import logging #日志级别:debug<info<warning<error<critical<NOTSET ,不设置等级默认是显示warning以上的级别 logging.debug("debug message") logging.info("info message") logging.warning("warning message") logging.error("error nessage") logging.critical("critical message") #结果为 # WARNING:root:warning message # ERROR:root:error nessage # CRITICAL:root:critical message #logging.basicConfig方式只能在屏幕显示或写入文件 logging.basicConfig( level = logging.DEBUG, #设定logging级别 filename="logger.txt", # 如无次参数,结果显示在屏幕上,加上参数生成一个文本,并把结果存入文本中 filemode="w", # #文件默认是追加,改成写的模式,保证每次都是五条信息 format="%(asctime)s %(name)s [%(lineno)d] %(message)s") #asctime(固定时间格式),name(用户名称),lineno(日志所在文件的行数),message(日志信息) logging.debug("debug message") logging.info("info message") logging.warning("warning message") logging.error("error nessage") logging.critical("critical message") #结果为 # DEBUG:root:debug message # INFO:root:info message # WARNING:root:warning message # ERROR:root:error nessage # CRITICAL:root:critical message #logger方式能写入文件显示和在屏幕中显示 def logger(): logger=logging.getLogger() fh=logging.FileHandler("logger_test") #往文件中写入内容 ch=logging.StreamHandler() #往屏幕中显示内容 fm=logging.Formatter("%(asctime)s %(message)s %(name)s") #设定一个格式 fh.setFormatter(fm) #把fh,ch都应用成fm的格式 ch.setFormatter(fm) logger.addHandler(fh) logger.addHandler(ch) return logger logger=logger() #直接调用logger函数 logger.setLevel("DEBUG") logger.debug("debug message") logger.info("info message") logger.error("error nessage") logger.warning("warning message") logger.critical("critical message") #补充:假设又logger、logger1、logger2三个对象,也是实现以上功能,当logger1(级别为debug)和logger2(级别为info)在getlogger时加上了同样的名字,相当于在root下面建了子用户--my logger,设定级别时 #按最低的显示(info),当logger(默认为root用户)和logger1(级别为debug)运行时,logger打印warning以上级别的信息,而logger1打印debug以上级别的信息,因为my logger用户是root用户的子用户,当logger # 有运行,就会再打印一次给root用户。
标签:and 运行 bsp one logging模块 写入内容 txt 模块 用户名
原文地址:https://www.cnblogs.com/sakura-gyt/p/12913134.html