京东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('进行登录...')
还不快抢沙发