日志-02


'''
1.自定义日志: 一般的日志都是固定的写入一个文件中,不管你定义多少个logging.basicConfig(filename='rizhi.txt',
format='%(asctime)s - %(name)s - %(module)s: %(message)s',
datefmt='%Y-%m-%d %H:%M:%S',
level=10)
它最终都只写在第一个文件里,也即写在'rizhi.txt'文件中.因为日志的写入机制是,它先去内存中查找有无创建logging.basicConfig,若是内存中已经有
了,那它就不会再次创建,而是直接把所有日志全都写入到该logging.basicConfig定义的文件中去.因此当代码中出现第二个logging.basicConfig时,
系统不会再去内存中开创一个空间,而是依旧把新日志写入第一个文件中去.
而自定义日志可以做到你想把日志写入哪个文件,就把日志写入哪个文件中的功能.

'''
import logging

# 创建一个日志的操作对象logger1,以及被操作日志对象file_handler1.(日志对象中定义了日志文件)
file_handler1 = logging.FileHandler('rizhi1.txt', 'a', encoding='utf-8')
file_handler1.setFormatter(logging.Formatter(fmt='%(asctime)s - %(name)s - %(levelname)s - %(module)s: %(message)s'))

# logger1为操作日志的对象,s1为用户名称,level后规定当错误级别达到多大时,才往日志中写.
logger1 = logging.Logger('s1', level=logging.ERROR)

# 往操作日志对象logger1中添加日志对象file_handler日志,供其操作

logger1.addHandler(file_handler1)

# 往logger1对象中写级别为error的数据'131234'

logger1.error('131234')

# 创建第二个日志的操作对象logger2,以及被操作日志对象file_handler2.
file_handler2 = logging.FileHandler('rizhi2.txt', 'a', encoding='utf-8')
file_handler2.setFormatter(logging.Formatter(fmt='%(asctime)s - %(name)s - %(levelname)s - %(module)s: %(message)s'))

logger2 = logging.Logger('s2', level=logging.ERROR)
logger2.addHandler(file_handler2)

logger2.error('666') # 这个666会写入rizhi2.txt文件中,而非rizhi1.txt中,以此实现了能在相同py文件中的,不同日志文件中写入日志中的功能.


posted @ 2020-08-21 21:09  骑着旺财上前线  阅读(75)  评论(0编辑  收藏  举报