Informações detalhadas, geralmente usadas apenas ao depurar problemas
INFO
Prove que as coisas estão funcionando conforme o esperado
AVISO
Alguns avisos de tempo inesperados ou avisos de problemas que podem ocorrer no futuro
ERRO
Devido a problemas mais sérios, o software não pode mais executar algumas funções
CRÍTICO
Um erro grave indica que o software não pode mais ser executado
Nota: Nível de gravidade: CRITICAL> ERROR> WARNING> INFO> DEBUG Nível padrão: WARNING Defina o nível de log de saída: Se o nível de log for WARNING, o log só pode imprimir WARNING e acima do conteúdo do log, e o nível de gravidade é menor que WARING é a geração padrão que não é impressa. O nível do logger root é logging.WARNING, e aqueles abaixo deste nível não serão impressos .
O objeto Formatter define as regras finais, estrutura e conteúdo das informações de log
parâmetro
Conteúdo de saída
% (name) s
Nome do madeireiro
% (levelno) s
Nível de registro digital
% (mensagem) s
Informações de saída do usuário
% (levelname) s
Nível de registro em formato de texto
% (nome do caminho) s
O nome do caminho completo do módulo que chama a função de saída do log, ele não pode
% (nome do arquivo) s
O nome do arquivo do módulo que chama a função de saída de log
% (módulo) s
O nome do módulo que chama a função de saída de log
% (lineno) d
A linha de código onde a instrução que chama a função de saída do log está localizada
% (asctime) s
A hora atual como uma string. O formato padrão é "2003-07-08 16: 49: 45.896". Milissegundos após a vírgula
% (discussão) d
ID do tópico, não pode
% (threadName) s
Nome do tópico. Talvez não
logando no console
import logging
logging.debug('it is debug')
logging.info('it is info')
logging.warning('it is waring')
logging.error('it is error')
logging.critical('it is critical')
输出只有:
WARNING:root:it is waring
ERROR:root:it is error
CRITICAL:root:it is critical
注释: 默认生成的root logger的level是logging.WARNING,低于该级别的就不输出了
registrando a saída para o arquivo
import logging
#创建一个logger
logger = logging.getLogger()#设置log等级开关
logger.setLevel(logging.INFO)
logfile ='recorder.log'
fh = logging.FileHandler(logfile, mode='w', encoding='utf-8')#设置输出格式
fh.setLevel(logging.DEBUG)#设置格式
formatter = logging.Formatter('%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s')
fh.setFormatter(formatter)#将logger添加到hander里面
logger.addHandler(fh)
logger.debug('this is a logger debug message')
logger.info('this is a logger info message')
logger.warning('this is a logger warning message')
logger.error('this is a logger error message')
logger.critical('this is a logger critical message')