python--loggger日志到理解logging

日志记录器级别:严重、错误、警告、信息、调试

logger模块用于记录log信息,使用前请导包import logger。

例一、

1、超级简单版logger.py:

def log_message(msg):
    with open("test.log",'a+') as log_file:
        log_file.write("{0}\n".format(msg))

2、新建一个main_script.py文件引入logger.py日志记录器

import logger

for i in range(4):
    logger.log_message("log message {}".format(i))

 

3、运行后生成日志,没有日志级别的日志不是好日志,日志信息如下:

log message 0
log message 1
log message 2
log message 3
test.log

4、logger.py文件修改

def critical(msg):
    with open("test.log",'a+') as log_file:
        log_file.write("[CRITICAL]{0}\n".format(msg))

def error(msg):
    with open("test.log",'a+') as log_file:
        log_file.write("[ERROR]{0}\n".format(msg))
        
def warn(msg):
    with open("test.log",'a+') as log_file:
        log_file.write("[WARN]{0}\n".format(msg))

def info(msg):
    with open("test.log",'a+') as log_file:
        log_file.write("[INFO]{0}\n".format(msg))
        
def debug(msg):
    with open("test.log",'a+') as log_file:
        log_file.write("[DEBUG]{0}\n".format(msg))
logger.py

5、新建一个py文件,test_error_log.py

import logger

try:
    a = 1/0
except:
    logger.error("something went wront")
View Code

6、运行test_error_log.py程序后查看log日志,

[ERROR]something went wron

7、logging第三方模块pip安装后可以这样用

import logging  # 引入logging模块
import os.path
import time
# 第一步,创建一个logger
logger = logging.getLogger()
logger.setLevel(logging.INFO)  # Log等级总开关
# 第二步,创建一个handler,用于写入日志文件
rq = time.strftime('%Y%m%d%H%M', time.localtime(time.time()))
log_path = os.path.dirname(os.getcwd()) + '/Logs/'
log_name = log_path + rq + '.log'
logfile = log_name
fh = logging.FileHandler(logfile, mode='w')
fh.setLevel(logging.DEBUG)  # 输出到file的log等级的开关
# 第三步,定义handler的输出格式
formatter = logging.Formatter("%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s")
fh.setFormatter(formatter)
# 第四步,将logger添加到handler里面
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')
test_loggin.py

 

posted @ 2018-07-05 20:11  点点花飞谢  阅读(532)  评论(1)    收藏  举报