Funnylog2
一个简单易用、功能强大的日志工具。
只需要加一个装饰器,就能自动日志输出类里面所有的方法的功能说明。
安装
console
pip3 install funnylog2
使用方法
1、自动输出日志
py
#!/usr/bin/env python3
# _*_ coding:utf-8 _*_
from funnylog2 import logger
from funnylog2 import log
from funnylog2.config import config
config.CLASS_NAME_ENDSWITH = ["Log"]
logger("DEBUG")
class BaseLog:
def base_self_method(self):
"""我是 基类 里面的实例方法"""
@classmethod
def base_cls_method(self):
"""我是 基类 里面的类方法"""
@staticmethod
def base_static_method():
"""我是 基类 里面的静态方法"""
# 注意这里,只需要在这里挂一个装饰器
@log
class TestLog(BaseLog):
"""继承了基类BaseLog"""
def self_method(self):
"""我是 类 里面的实例方法"""
@classmethod
def cls_method(self):
"""我是 类 里面的类方法"""
@staticmethod
def static_method():
"""我是 类 里面的静态方法"""
if __name__ == '__main__':
# @log装饰器自动打印
TestLog().self_method()
TestLog().cls_method()
TestLog().static_method()
# 直接调用基类里面的方法,也能自动打印
TestLog().base_self_method()
TestLog().base_cls_method()
TestLog().base_static_method()
终端输出:
2、方法中输出其他的日志
py
#!/usr/bin/env python3
# _*_ coding:utf-8 _*_
from funnylog2 import logger
from funnylog2 import log
from funnylog2.config import config
config.CLASS_NAME_ENDSWITH = ["Log"]
logger("DEBUG")
class BaseLog:
...
# 注意这里,只需要在这里挂一个装饰器
@log
class TestLog(BaseLog):
"""继承了基类BaseLog"""
...
@staticmethod
def static_method():
"""我是 类 里面的静态方法"""
# 方法里面仍然可以单独打印日志
logger.debug("这是我想再输出的其他 debug 日志")
logger.info("这是我想再输出的其他 info 日志")
logger.error("这是我想再输出的其他 error 日志")
if __name__ == '__main__':
# @log装饰器自动打印
TestLog().static_method()
终端输出:
3、在外层其他直接使用
py
#!/usr/bin/env python3
# _*_ coding:utf-8 _*_
from funnylog2 import log
from funnylog2 import logger
from funnylog2.config import config
config.CLASS_NAME_ENDSWITH = ["Log"]
logger("DEBUG")
class BaseLog:
...
# 注意这里,只需要在这里挂一个装饰器
@log
class TestLog(BaseLog):
"""继承了基类BaseLog"""
...
if __name__ == '__main__':
# logger直接调用
logger.debug("这是在类外面打 debug log")
logger.info("这是在类外面打 info log")
logger.error("这是在类外面打 error log")
终端输出:
必要配置项
LOG_FILE_PATH
日志文件的生成路径 默认是在:
/tmp/_logs
,你可以配置为其他位置;pythonfrom funnylog2.config import config config.LOG_FILE_PATH = "/home/user/xxx"
LOG_LEVEL
日志级别 默认日志输出级别为
DEBUG
级别,同样可以进行配置修改;pythonfrom funnylog2.config import config config.LOG_LEVEL = "INFO"
自动输出日志的类名称
CLASS_NAME_STARTSWITH
类名以什么开头 pythonfrom funnylog2.config import config config.CLASS_NAME_STARTSWITH = ["Test"]
CLASS_NAME_ENDSWITH
类名以什么结尾 pythonfrom funnylog2.config import config config.CLASS_NAME_ENDSWITH = ["Method"]
CLASS_NAME_CONTAIN
类名包含什么字符 pythonfrom funnylog2.config import config config.CLASS_NAME_CONTAIN = ["Assert"]