Python3
Windows电脑
打开Python开发者工具‘IDLE’,新建‘log.py’文件,写代码如下:import logginglogging.warning('warn message')logging.info('info message')logging.debug('debug message')logging.error('error message')logging.critical('critical message')
F5运行程序,可以看到logging打印出来的信息:WARNING:root:warn messageERROR:root:error messageCRITICAL:root:critical message打印顺序:级别:用户:内容
但是打印出来的信息都是warning级别及以上的信息。debug和info级都没有打印,这是因为logging默认级别是warning。改写‘log.py’代码如下:import logginglogging.basicConfig(level=logging.DEBUG)logging.warning('warn message')logging.info('info message')logging.debug('debug message')logging.error('error message')logging.critical('critical message')
F5运行程序,可以看到logging打印出来的信息:WARNING:root:warn messageINFO:root:info messageDEBUG:root:debug messageERROR:root:error messageCRITICAL:root:critical message
logging.basicConfig进行传递level参数,这样就打印出debug级及以上级别的信息,当要把内容输入到文件,改成代码如下:import logginglogging.basicConfig(filename='mylog.txt',level=logging.DEBUG)logging.warning('warn message')logging.info('info message')logging.debug('debug message')logging.error('error message')logging.critical('critical message')
F5运行程序,可以在‘log.py’所在文件夹目录找到‘mylog.txt’文件,打开文件,内容如下:WARNING:root:warn messageINFO:root:info messageDEBUG:root:debug messageERROR:root:error messageCRITICAL:root:critical message和在shell中打印的一致
再改写‘log.py’代码,使输出内容更合理,代码如下:import logginglogging.basicConfig(filename = 'mylog.txt', format="%(asctime)s - %(name)s - %(levelname)s - %(message)s",level=logging.DEBUG)logging.warning('warn message')logging.info('info message')logging.debug('debug message')logging.error('error message')logging.critical('critical message')
F5运行程序,可以在‘log.py’所在文件夹目录找到‘mylog.txt’文件,打开文件,内容如下:WARNING:root:warn messageINFO:root:info messageDEBUG:root:debug messageERROR:root:error messageCRITICAL:root:critical message2018-12-21 15:13:03,061 - root - WARNING - warn message2018-12-21 15:13:03,062 - root - INFO - info message2018-12-21 15:13:03,062 - root - DEBUG - debug message2018-12-21 15:13:03,063 - root - ERROR - error message2018-12-21 15:13:03,063 - root - CRITICAL - critical message打印顺序:时间-用户-级别-内容 这是在 format参数中传递的,这样的日志记录基本能满足一个小程序所需要记录的内容。