zdppy-log


Namezdppy-log JSON
Version 0.2.1 PyPI version JSON
download
home_pageNone
SummaryPython操作日志的底层核心框架
upload_time2024-08-28 01:52:53
maintainerNone
docs_urlNone
author张大鹏
requires_python<4.0,>=3.8
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # zdppy_log

python的日志库

项目地址:https://github.com/zhangdapeng520/zdppy_log

## 安装方式

```shell
pip install zdppy_log
```

## 使用方式

```python
from zdppy_log import Log

log1 = Log("logs/zdppy/zdppy_log1.zdppy_log")


@log1.catch()
def my_function(x, y, z):
    # An error? It's caught anyway!
    return 1 / (x + y + z)


my_function(0, 0, 0)
# logger.add("out.zdppy_log", backtrace=True, diagnose=True)  # Caution, may leak sensitive data in prod

log2 = Log("logs/zdppy/zdppy_log2.zdppy_log")
log2.debug("log2日志")
log2.info("log2日志")
log2.warning("log2日志")
log2.error("log2日志")
log2.critical("log2日志")

log3 = Log("logs/zdppy/zdppy_log3.zdppy_log", debug=False)
log3.debug("log3日志")
log3.info("log3日志")
log3.warning("log3日志")
log3.error("log3日志")
log3.critical("log3日志")
```

## 使用案例

### 案例1:基本使用

```python
from zdppy_log import Log

log1 = Log("logs/zdppy/zdppy_log1.zdppy_log")

log2 = Log("logs/zdppy/zdppy_log2.zdppy_log")
log2.debug("log2日志")
log2.info("log2日志")
log2.warning("log2日志")
log2.error("log2日志")
log2.critical("log2日志")

log3 = Log("logs/zdppy/zdppy_log3.zdppy_log", debug=False)
log3.debug("log3日志")
log3.info("log3日志")
log3.warning("log3日志")
log3.error("log3日志")
log3.critical("log3日志")
```

### 案例2:捕获方法错误

```python
from zdppy_log import Log

log1 = Log("logs/zdppy/zdppy_log1.zdppy_log")


@log1.catch()
def my_function(x, y, z):
    return 1 / (x + y + z)


my_function(0, 0, 0)
```

### 案例3:只往控制台输出

```python
from zdppy_log import Log

# 记录所有级别的日志到控制台
log1 = Log(debug=True, is_only_console=True)
log1.debug("log1 debug")
log1.info("log1 info")
log1.warning("log1 warning")
log1.error("log1 error")
log1.critical("log1 critical")

# 记录info以上级别的日志到控制台
log2 = Log(debug=False, is_only_console=True)
log2.debug("log2 debug")
log2.info("log2 info")
log2.warning("log2 warning")
log2.error("log2 error")
log2.critical("log2 critical")

# 记录error以上级别的日志到控制台
log3 = Log(debug=False, level="ERROR", is_only_console=True)
log3.debug("log3 debug")
log3.info("log3 info")
log3.warning("log3 warning")
log3.error("log3 error")
log3.critical("log3 critical")
```

### 案例4:同时输出到控制台和日志文件

```python
from zdppy_log import Log

# 记录info级别的日志,并将所有级别日志输出到控制台
log1 = Log(debug=True)
log1.debug("log1 debug")
log1.info("log1 info")
log1.warning("log1 warning")
log1.error("log1 error")
log1.critical("log1 critical")

# 记录info以上级别的日志,不输出到控制台
log2 = Log(debug=False)
log2.debug("log2 debug")
log2.info("log2 info")
log2.warning("log2 warning")
log2.error("log2 error")
log2.critical("log2 critical")

# 记录error以上级别的日志不输出到控制台
log3 = Log(debug=False, level="ERROR")
log3.debug("log3 debug")
log3.info("log3 info")
log3.warning("log3 warning")
log3.error("log3 error")
log3.critical("log3 critical")
```

### 案例5:日志序列化为JSON

```python
from zdppy_log import Log

# 记录info级别的日志,并将所有级别日志输出到控制台
log1 = Log(serialize=True, debug=True)
log1.debug("log1 debug")
log1.info("log1 info")
log1.warning("log1 warning")
log1.error("log1 error")
log1.critical("log1 critical")

# 记录info以上级别的日志,不输出到控制台
log2 = Log(serialize=True, debug=False)
log2.debug("log2 debug")
log2.info("log2 info")
log2.warning("log2 warning")
log2.error("log2 error")
log2.critical("log2 critical")
```

## 版本历史

- v0.1.2 2022/2/19 增加debug模式;默认json日志为False
- v0.1.3 2022/3/4 增加记录日志文件,日志方法,日志行数的功能
- v0.1.4 2022/3/5 移除第三方依赖
- v0.1.5 2022/3/5 增加控制是否开启日志全路径的开关量
- v0.1.6 2022/3/16 增加只输出到控制台的开关量及底层代码优化
- v0.1.7 2022/3/16 BUG修复及完善使用文档
- v0.1.8 2022/5/17 优化:底层代码结构优化

### v0.1.9

- 新增:自动记录动态参数和字典参数

### v0.2.1

- 大版本更新



            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "zdppy-log",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.8",
    "maintainer_email": null,
    "keywords": null,
    "author": "\u5f20\u5927\u9e4f",
    "author_email": "1156956636@qq.com",
    "download_url": "https://files.pythonhosted.org/packages/d0/28/d2b782b2dbe9ecc69d286274c222c97427f06317abf4499f90fed9584308/zdppy_log-0.2.1.tar.gz",
    "platform": null,
    "description": "# zdppy_log\n\npython\u7684\u65e5\u5fd7\u5e93\n\n\u9879\u76ee\u5730\u5740\uff1ahttps://github.com/zhangdapeng520/zdppy_log\n\n## \u5b89\u88c5\u65b9\u5f0f\n\n```shell\npip install zdppy_log\n```\n\n## \u4f7f\u7528\u65b9\u5f0f\n\n```python\nfrom zdppy_log import Log\n\nlog1 = Log(\"logs/zdppy/zdppy_log1.zdppy_log\")\n\n\n@log1.catch()\ndef my_function(x, y, z):\n    # An error? It's caught anyway!\n    return 1 / (x + y + z)\n\n\nmy_function(0, 0, 0)\n# logger.add(\"out.zdppy_log\", backtrace=True, diagnose=True)  # Caution, may leak sensitive data in prod\n\nlog2 = Log(\"logs/zdppy/zdppy_log2.zdppy_log\")\nlog2.debug(\"log2\u65e5\u5fd7\")\nlog2.info(\"log2\u65e5\u5fd7\")\nlog2.warning(\"log2\u65e5\u5fd7\")\nlog2.error(\"log2\u65e5\u5fd7\")\nlog2.critical(\"log2\u65e5\u5fd7\")\n\nlog3 = Log(\"logs/zdppy/zdppy_log3.zdppy_log\", debug=False)\nlog3.debug(\"log3\u65e5\u5fd7\")\nlog3.info(\"log3\u65e5\u5fd7\")\nlog3.warning(\"log3\u65e5\u5fd7\")\nlog3.error(\"log3\u65e5\u5fd7\")\nlog3.critical(\"log3\u65e5\u5fd7\")\n```\n\n## \u4f7f\u7528\u6848\u4f8b\n\n### \u6848\u4f8b1\uff1a\u57fa\u672c\u4f7f\u7528\n\n```python\nfrom zdppy_log import Log\n\nlog1 = Log(\"logs/zdppy/zdppy_log1.zdppy_log\")\n\nlog2 = Log(\"logs/zdppy/zdppy_log2.zdppy_log\")\nlog2.debug(\"log2\u65e5\u5fd7\")\nlog2.info(\"log2\u65e5\u5fd7\")\nlog2.warning(\"log2\u65e5\u5fd7\")\nlog2.error(\"log2\u65e5\u5fd7\")\nlog2.critical(\"log2\u65e5\u5fd7\")\n\nlog3 = Log(\"logs/zdppy/zdppy_log3.zdppy_log\", debug=False)\nlog3.debug(\"log3\u65e5\u5fd7\")\nlog3.info(\"log3\u65e5\u5fd7\")\nlog3.warning(\"log3\u65e5\u5fd7\")\nlog3.error(\"log3\u65e5\u5fd7\")\nlog3.critical(\"log3\u65e5\u5fd7\")\n```\n\n### \u6848\u4f8b2\uff1a\u6355\u83b7\u65b9\u6cd5\u9519\u8bef\n\n```python\nfrom zdppy_log import Log\n\nlog1 = Log(\"logs/zdppy/zdppy_log1.zdppy_log\")\n\n\n@log1.catch()\ndef my_function(x, y, z):\n    return 1 / (x + y + z)\n\n\nmy_function(0, 0, 0)\n```\n\n### \u6848\u4f8b3\uff1a\u53ea\u5f80\u63a7\u5236\u53f0\u8f93\u51fa\n\n```python\nfrom zdppy_log import Log\n\n# \u8bb0\u5f55\u6240\u6709\u7ea7\u522b\u7684\u65e5\u5fd7\u5230\u63a7\u5236\u53f0\nlog1 = Log(debug=True, is_only_console=True)\nlog1.debug(\"log1 debug\")\nlog1.info(\"log1 info\")\nlog1.warning(\"log1 warning\")\nlog1.error(\"log1 error\")\nlog1.critical(\"log1 critical\")\n\n# \u8bb0\u5f55info\u4ee5\u4e0a\u7ea7\u522b\u7684\u65e5\u5fd7\u5230\u63a7\u5236\u53f0\nlog2 = Log(debug=False, is_only_console=True)\nlog2.debug(\"log2 debug\")\nlog2.info(\"log2 info\")\nlog2.warning(\"log2 warning\")\nlog2.error(\"log2 error\")\nlog2.critical(\"log2 critical\")\n\n# \u8bb0\u5f55error\u4ee5\u4e0a\u7ea7\u522b\u7684\u65e5\u5fd7\u5230\u63a7\u5236\u53f0\nlog3 = Log(debug=False, level=\"ERROR\", is_only_console=True)\nlog3.debug(\"log3 debug\")\nlog3.info(\"log3 info\")\nlog3.warning(\"log3 warning\")\nlog3.error(\"log3 error\")\nlog3.critical(\"log3 critical\")\n```\n\n### \u6848\u4f8b4\uff1a\u540c\u65f6\u8f93\u51fa\u5230\u63a7\u5236\u53f0\u548c\u65e5\u5fd7\u6587\u4ef6\n\n```python\nfrom zdppy_log import Log\n\n# \u8bb0\u5f55info\u7ea7\u522b\u7684\u65e5\u5fd7\uff0c\u5e76\u5c06\u6240\u6709\u7ea7\u522b\u65e5\u5fd7\u8f93\u51fa\u5230\u63a7\u5236\u53f0\nlog1 = Log(debug=True)\nlog1.debug(\"log1 debug\")\nlog1.info(\"log1 info\")\nlog1.warning(\"log1 warning\")\nlog1.error(\"log1 error\")\nlog1.critical(\"log1 critical\")\n\n# \u8bb0\u5f55info\u4ee5\u4e0a\u7ea7\u522b\u7684\u65e5\u5fd7\uff0c\u4e0d\u8f93\u51fa\u5230\u63a7\u5236\u53f0\nlog2 = Log(debug=False)\nlog2.debug(\"log2 debug\")\nlog2.info(\"log2 info\")\nlog2.warning(\"log2 warning\")\nlog2.error(\"log2 error\")\nlog2.critical(\"log2 critical\")\n\n# \u8bb0\u5f55error\u4ee5\u4e0a\u7ea7\u522b\u7684\u65e5\u5fd7\u4e0d\u8f93\u51fa\u5230\u63a7\u5236\u53f0\nlog3 = Log(debug=False, level=\"ERROR\")\nlog3.debug(\"log3 debug\")\nlog3.info(\"log3 info\")\nlog3.warning(\"log3 warning\")\nlog3.error(\"log3 error\")\nlog3.critical(\"log3 critical\")\n```\n\n### \u6848\u4f8b5\uff1a\u65e5\u5fd7\u5e8f\u5217\u5316\u4e3aJSON\n\n```python\nfrom zdppy_log import Log\n\n# \u8bb0\u5f55info\u7ea7\u522b\u7684\u65e5\u5fd7\uff0c\u5e76\u5c06\u6240\u6709\u7ea7\u522b\u65e5\u5fd7\u8f93\u51fa\u5230\u63a7\u5236\u53f0\nlog1 = Log(serialize=True, debug=True)\nlog1.debug(\"log1 debug\")\nlog1.info(\"log1 info\")\nlog1.warning(\"log1 warning\")\nlog1.error(\"log1 error\")\nlog1.critical(\"log1 critical\")\n\n# \u8bb0\u5f55info\u4ee5\u4e0a\u7ea7\u522b\u7684\u65e5\u5fd7\uff0c\u4e0d\u8f93\u51fa\u5230\u63a7\u5236\u53f0\nlog2 = Log(serialize=True, debug=False)\nlog2.debug(\"log2 debug\")\nlog2.info(\"log2 info\")\nlog2.warning(\"log2 warning\")\nlog2.error(\"log2 error\")\nlog2.critical(\"log2 critical\")\n```\n\n## \u7248\u672c\u5386\u53f2\n\n- v0.1.2 2022/2/19 \u589e\u52a0debug\u6a21\u5f0f\uff1b\u9ed8\u8ba4json\u65e5\u5fd7\u4e3aFalse\n- v0.1.3 2022/3/4 \u589e\u52a0\u8bb0\u5f55\u65e5\u5fd7\u6587\u4ef6\uff0c\u65e5\u5fd7\u65b9\u6cd5\uff0c\u65e5\u5fd7\u884c\u6570\u7684\u529f\u80fd\n- v0.1.4 2022/3/5 \u79fb\u9664\u7b2c\u4e09\u65b9\u4f9d\u8d56\n- v0.1.5 2022/3/5 \u589e\u52a0\u63a7\u5236\u662f\u5426\u5f00\u542f\u65e5\u5fd7\u5168\u8def\u5f84\u7684\u5f00\u5173\u91cf\n- v0.1.6 2022/3/16 \u589e\u52a0\u53ea\u8f93\u51fa\u5230\u63a7\u5236\u53f0\u7684\u5f00\u5173\u91cf\u53ca\u5e95\u5c42\u4ee3\u7801\u4f18\u5316\n- v0.1.7 2022/3/16 BUG\u4fee\u590d\u53ca\u5b8c\u5584\u4f7f\u7528\u6587\u6863\n- v0.1.8 2022/5/17 \u4f18\u5316\uff1a\u5e95\u5c42\u4ee3\u7801\u7ed3\u6784\u4f18\u5316\n\n### v0.1.9\n\n- \u65b0\u589e\uff1a\u81ea\u52a8\u8bb0\u5f55\u52a8\u6001\u53c2\u6570\u548c\u5b57\u5178\u53c2\u6570\n\n### v0.2.1\n\n- \u5927\u7248\u672c\u66f4\u65b0\n\n\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Python\u64cd\u4f5c\u65e5\u5fd7\u7684\u5e95\u5c42\u6838\u5fc3\u6846\u67b6",
    "version": "0.2.1",
    "project_urls": null,
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c37ae7cb56ca49fda993d898af49d2126fa64cf41eed68904f8e930313aa0414",
                "md5": "6d893e3f5d0a0eaacd14ba2840cd855c",
                "sha256": "78157a8db1a674c977cf8b4ab8162fcf578246ba0aae59fd5133c07edd4abbf8"
            },
            "downloads": -1,
            "filename": "zdppy_log-0.2.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "6d893e3f5d0a0eaacd14ba2840cd855c",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.8",
            "size": 59542,
            "upload_time": "2024-08-28T01:52:51",
            "upload_time_iso_8601": "2024-08-28T01:52:51.997753Z",
            "url": "https://files.pythonhosted.org/packages/c3/7a/e7cb56ca49fda993d898af49d2126fa64cf41eed68904f8e930313aa0414/zdppy_log-0.2.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d028d2b782b2dbe9ecc69d286274c222c97427f06317abf4499f90fed9584308",
                "md5": "89b878e4ccdb09b176a1a6edab877f07",
                "sha256": "36eeeef11ec132645458bb82af8b2679d3a601c88f790c686f81b16a8333bd3d"
            },
            "downloads": -1,
            "filename": "zdppy_log-0.2.1.tar.gz",
            "has_sig": false,
            "md5_digest": "89b878e4ccdb09b176a1a6edab877f07",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.8",
            "size": 53692,
            "upload_time": "2024-08-28T01:52:53",
            "upload_time_iso_8601": "2024-08-28T01:52:53.308732Z",
            "url": "https://files.pythonhosted.org/packages/d0/28/d2b782b2dbe9ecc69d286274c222c97427f06317abf4499f90fed9584308/zdppy_log-0.2.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-08-28 01:52:53",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "zdppy-log"
}
        
Elapsed time: 0.34811s