京东JD-Coin日志分析

jd coin是一个京东自动签到的项目 ,项目源码码位置作者托管在github上。

源地址:https://github.com/CaoZ/JD-Coin

分析下里面日志的用法。默认没有开启写入文件功能,分析的时候改了一下,加进去了。

1.Config.py中配置

设置日志的格式,以及记录级别,日志模式为追加

import logging
log_format = '%(asctime)s %(name)s[%(module)s] %(levelname)s: %(message)s'
logging.basicConfig(format=log_format, level=logging.INFO,filemode='a')

2.Job模块__init.py__中

导入logging, 对log进行初始化,同时放入_all_ 变量中。以备其它引用模块调用 。

定义set_logger()方法 ,并调用,设置logger的记录级别,以及双显【显示在控制台和写入文件】

import logging
logger = logging.getLogger('jobs')
__all__ = ['jobs_all', 'logger']

def set_logger():
    logger.propagate = False
    logger.setLevel(logging.DEBUG)
    handler = logging.StreamHandler()
    formatter = logging.Formatter(config.log_format)
    handler.setFormatter(formatter)
    xxx=logging.FileHandler("log.txt")
    xxx.setFormatter(formatter)
    logger.addHandler(handler)
    logger.addHandler(xxx)

set_logger()

3.调用

import job 会导入job模块,读入job文件夹下面的___init___文件__all__变量,导入相入的模块

同时set_logger()会被调用,对日志进行初始化设置

接下来用self.logger.info('进行登录...') 写入日志

import job
self.logger.info('进行登录...')

本文由 hcb 创作,采用 知识共享署名 3.0,可自由转载、引用,但需署名作者且注明文章出处。

还不快抢沙发

添加新评论