python_day023 logging

1.re module

pass

2.logging

#logging 显示信息根据级别定
#--------------------------logging---------------
'''
import logging
logging.basicConfig(
    level = logging.DEBUG,
    filename = "logger.log",
    filemode = "w",
    format = "%(asctime)s %(filename)s[%(lineno)d] %(message)"
) #asctime结构化时间
logging.basicConfig(level=logging.DEBUG)
logging.debug("debug message")
logging.info("info message")
logging.warning("warning message")
logging.error("error message")
logging.critical("critical message")
'''
#上述代码输出一下内容
'''
2016-12-14 11:51:31,276 logging.py[14] debug message
2016-12-14 11:51:31,276 logging.py[15] info message
2016-12-14 2016-12-14 11:51:31,276 logging.py[16] warning message
2016-12-14 11:51:31,276 logging.py[17] errpr message
2016-12-14 11:51:31,276 logging.py[18] critical message
'''
#--------------------------------------logger-------------------
# def logger():
    # logger = logging.getLogger()
    # fh = logging.FileHandler("logging") #向loggingtext中发送文件内容
    # ch=logging.StreamHandler() #向屏幕上发送文件内容
    # fm = logging.Formatter("%(asctime)s %(message)s") #输入要输出的格式
    # fh.setFormatter(fm) #fh,ch设置输出格式
    # ch.setFormatter(ch)
    # logger.addHandler(fh) #l向ogger中添加入fh,ch
    # logger.addHandler(ch)
    # logger.setLevel("DEBUG")
    # #-----------------------------------以下调用logger
    # logger.debug("hello")
    # logger.info("hello")
    # logger.warning("warning")
    # logger.error("error")
    # logger.critical("critical")
#------------------------------------------
import logging
logger = logging.getLogger() #创建根用户,根logger对象;根用户下有两个对象mylogger
logger.setLevel(logging.WARNING)#设置logger等级

logger1 = logging.getLogger("mylogger") #导入logging模块
logger1.setLevel(logging.DEBUG)#设置logger1等级

# logger2 = logging.getLogger("mylogger")
# logger2.setLevel(logging.WARNING)

fh = logging.FileHandler("test_log_new") #把logging中的内容添加到test_log_new
ch = logging.StreamHandler() #向屏幕中投射logging传过来的内容

logger.addHandler(ch) #往logger中添加ch和fh内容
logger.addHandler(fh)

logger1.addHandler(fh) #往logger1中添加ch和fh内容
logger1.addHandler(ch)

# logger2.addHandler(fh)
# logger2.addHandler(ch)

logger.debug("logger debug message")
logger.info("logger info message")
logger.warning("logger warning message")
logger.error("logger error message")
logger.critical("logger critical message")

logger1.debug("logger1 debug message")
logger1.info("logger1 info message")
logger1.warning("logger1 warning message")
logger1.error("logger1 error message")
logger1.critical("logger1 critical message")
'''
上述代码输出以下内容
logger warning message
logger error message
logger critical message
logger1 debug message
logger1 info message
logger1 warning message
logger1 error message
logger1 critical message
logger1 debug message
logger1 info message
logger1 warning message
logger1 error message
logger1 critical message

注意点:
1.子对象的名字不能重复,否则第一次子对象输出被覆盖
2.logger1输出两次是因为每次调用子对象时,会搜索父对象是否在工作?如果父对象工作,会输出一次父对象内容,父对象有几级,就输出几次打印内容
'''

猜你喜欢

转载自www.cnblogs.com/yuyukun/p/10545222.html