logging 模块,计算机的日志记录。
它是一个线程安全的记录模块。
当多个计算机来对服务器写入日志的时候。每台计算机都需要对服务器上的文件做, 打开文件 ,写入文件 ,保存文件 的操作。由于每台计算机的记录时间是不同的。这就需要保证线程的安全。
logging 模块在内部就保证了这一功能。
一,单个文件的记录。
1 import logging 2 3 """ 4 CRITICAL = 50 5 FATAL = CRITICAL 6 ERROR = 40 7 WARNING = 30 8 WARN = WARNING 9 INFO = 20 10 DEBUG = 10 11 NOTSET = 0 12 """ 13 14 logging.basicConfig(filename='logname.log', 15 format='%(asctime)s - %(name)s - %(levelname)s - %(module)s: %(message)s', 16 datefmt='%Y-%m-%d %H:%M:%S %p', 17 level=logging.INFO) 18 logging.critical("this is a critical issue") 19 logging.log(10, 'this is noset issue') 20 logging.debug("ABC")
二,多个文件的日志:
# !/usr/bin/env python # -*- coding:utf8 -*- import logging # 创建文件 file_1_1 = logging.FileHandler('1-1.log', 'a') # 创建格式 fmt = logging.Formatter(fmt="%(asctime)s - %(name)s - %(levelname)s - %(module)s:%(message)s", datefmt='%Y-%m-%d %H:%M:%S %p') # 文件应用格式 file_1_1.setFormatter(fmt) file_2_2 = logging.FileHandler('2-2.log', 'a') # fmt = logging.Formatter() file_2_2.setFormatter(fmt) lgger1 = logging.Logger('Simon', level=logging.ERROR) lgger1.addHandler(file_1_1) lgger1.addHandler(file_2_2) # 写日志 lgger1.critical('1111') lgger1.log(200,'这是一个level 200 的错误')