python调用接口实例化_python 类静态方法实例化另一个类对象的问题?
Logger是使用logging封装的一个日志类, 每次使用的时候都要实例化一下:
logger = Logger().getLogger()
logger.info(' message ')
不想每次实例化, 然后新加了一个类Logg 里面定义了对应各个日志级别的静态方法:
但是测试一下却输出了很多日志, 为什么呢?
import time
from weather.common.libs.logger import Logger
class Logg(object):
@staticmethod
def info(message):
print("info---------------")
log = Logger().getLogger()
log.info(message)
if __name__ == '__main__':
for i in range(3):
Logg.info('testing..')
time.sleep(1)
输出结果::::
info---------------
[2019-09-18 17:17:58,679][root][INFO]-logg.py-info:line:14 testing..
info---------------
[2019-09-18 17:17:59,679][root][INFO]-logg.py-info:line:14 testing..
[2019-09-18 17:17:59,679][root][INFO]-logg.py-info:line:14 testing..
info---------------
[2019-09-18 17:18:00,681][root][INFO]-logg.py-info:line:14 testing..
[2019-09-18 17:18:00,681][root][INFO]-logg.py-info:line:14 testing..
[2019-09-18 17:18:00,681][root][INFO]-logg.py-info:line:14 testing..
附加 Logger 类代码:
class Logger(object):
level_relations = {
'debug': logging.DEBUG,
'info': logging.INFO,
'warning': logging.WARNING,
'error': logging.ERROR,
'crit': logging.CRITICAL
} # 日志级别关系映射
def __init__(self, logger=None, level='info'):
# create logger
self.logger = logging.getLogger(logger)
self.logger.setLevel(self.level_relations.get(level))
# 创建一个handler,用于写入日志文件
self._log_time = time.strftime("%Y_%m_%d")
self._log_path = os.path.dirname(os.path.dirname(os.getcwd())) + os.sep + 'log' + os.sep + self._log_time
# check log file path
if not os.path.exists(self._log_path):
os.makedirs(self._log_path)
self._log_name = self._log_path + os.sep + 'log.log'
formatter = logging.Formatter('[%(asctime)s][%(name)s][%(levelname)s]-%(filename)s-%(funcName)s:line:%(lineno)d\t%(message)s')
fh = logging.FileHandler(self._log_name, 'a', encoding='utf-8')
# fh.setLevel(logging.INFO)
fh.setFormatter(formatter)
# 创建一个handler,用于输出到控制台
ch = logging.StreamHandler()
# ch.setLevel(logging.INFO)
ch.setFormatter(formatter)
# 给logger添加handler
self.logger.addHandler(fh)
self.logger.addHandler(ch)
# 关闭打开的文件
fh.close()
ch.close()
def getLogger(self):
return self.logger
python调用接口实例化_python 类静态方法实例化另一个类对象的问题?相关推荐
- python调用接口查询_python调用接口查询 顺丰单号 物流信息
爱查快递 查询 顺丰单号 物流信息 Query.sign = function() { function t(t) { var e, i, s, a, r = -1; for (e = 0, s = ...
- python一个类调用另一个类的方法_python 类静态方法实例化另一个类对象的问题?...
Logger是使用logging封装的一个日志类, 每次使用的时候都要实例化一下: logger = Logger().getLogger() logger.info(' message ') 不想每 ...
- 【Python】解决Python调用接口返回带菱形问号和乱码
现象: python调用接口Print(response.text)返回菱形问号或乱码时, 解决方法: 请求头应该添加"Accept-Encoding":"deflate ...
- java怎么调用另一个类的方法_在一个类中访问另一个类的方法
在一个类中访问另一个类的方法 由于Java应用程序是由若干个类构成的,因此经常需要在一个类中访问另一个类中的成员和方法,请问应该如何在一个类中访问另一个类的方法?下面是由百分网小编为大家整理的在一个类 ...
- java类里面再定一个类_java类的里面可以再定义一个类吗 java里可不可以在一个...
java类里面还可以定义一个类,即内部类. java内部类分为: 成员内部类.静态嵌套类.方法内部类.匿名内部类 . 内部类的共性 (1).内部类仍然是一个独立的类,在编译之后内部类会被编译成独立的. ...
- python 创建对象时自动调用的函数_Python自动测试(6)——类和对象,python,自动化,六类...
类和函数对象概念 类 :同一类的事物,是个抽象的概念(属性.方法) 对象 :符合类描述的具体存在的 例如把电脑当做是一个类,然后你现在所使用的具体存在的电脑就是对象. 为什么要封装类?举个例子,ATM ...
- python调用接口上传文件_python上传文件接口
文件的参数组装: ('文件名',"open打开的文件(rb模式打开)",'文件的类型说明') 关于不同的请求参数类型,使用requests的处理: 1.文件上传(Content-T ...
- python做接口外部调用_python使用suds调用外部接口
查看webservice接口函数@classmethod def get_methods(cls, client): """ 查看服务接口 :param client: ...
- python调用java方法_python调用java
一.环境确认: 首先,要确认安装的jdk版本是1.8以上:其次,jdk安装位数与python安装的位数一致,及要么一起64位版本要么一起32版本. (以上2点不满足均会报错,比如:not found ...
最新文章
- redispython源文件_Redis与Python在项目中的交互
- Android 源码编译及常见错误及解决方法
- 分割平面、空间问题 数学公式
- P2839 [国家集训队]middle
- “暧昧”的吉本,“疗伤”的芭娜娜
- 爬取猎聘python_爬取猎聘大数据岗位相关信息--Python
- 关于浏览器模式和文本模式的困惑
- 三大场景,对象存储OSS带你快速上云
- 新四则运算 合作完成
- java获取手机安装app_Android之——获取手机安装的应用程序
- STM32用IAR调试出现Error[Pe020]: identifier FILE is undefined 解决方法
- MyBatis解析<if>动态sql时,Integer类型值为0,返回false
- 软件需求说明书模板1
- 中央预算单位银行账户管理系统单机版2021--运行环境配置指南
- verilog实现N分频电路
- TrueCrypt 使用经验[3]:关于加密
- 极案例 | 守护地铁运营“生命线”,极视角与深圳地铁运管办共建“AI智能巡检系统”
- Vue实例生命周期函数(钩子函数)详解
- fMRI中自发性短暂脑网络交互的行为相关性
- duffing matlab,duffing方程matlab
热门文章
- AC解 - Phone List(HDOJ#1671) 前缀树的一个应用
- 我司那产品经理丨第四期
- PMcaff微课堂 | 洋葱淘elya妞,前百度UX Leader:独门创业经验,产品秘籍
- 【干货】产品运营中极具战略意义的环节:数据分析
- 【pmcaff】其实一直有一个人在默默关注你
- PHP7扩展开发(二):配置项与全局数值
- 基于虎书实现LALR(1)分析并生成GLSL编译器前端代码(C#)
- 数据库密码加密公用秘要生成器,数据库密码加密解密入口
- 提高PHP代码质量需要注意的地方三
- TNS-04404 dbca