{ "info": { "author": "idlefish", "author_email": "lvhuanle12@126.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: Implementation", "Topic :: Software Development :: Libraries" ], "description": "# Andersen\n\u4e00\u4e2aPython\u7684\u65e5\u5fd7\u5e93\u7684\u5c01\u88c5\n\n# \u4f7f\u7528\u65b9\u5f0f\n\n## \u5b89\u88c5\n```\npip install andersen\n```\n\n## \u4ee3\u7801\u4f7f\u7528\n### \u76f4\u63a5\u4f7f\u7528\n```python\nimport andersen\n\n\nandersen.debug('debug')\nandersen.info('info')\nandersen.warn('warn')\nandersen.error('error')\n```\n\u7cfb\u7edf\u81ea\u5e26\u4e86\u4e00\u4e2a\u8f93\u51fa\u5230\u63a7\u5236\u53f0\u7684handler\uff0c\u65e5\u5fd7\u7ea7\u522b\u4e3ainfo\uff0c\u56e0\u6b64\u4e0a\u8fb9\u7684\u4ee3\u7801\u4f1a\u8f93\u51fa\uff1a\n![\u9ed8\u8ba4\u65e5\u5fd7](default_log.png)\n\n### \u81ea\u5b9a\u4e49\u914d\u7f6e\n\u53ef\u4ee5\u81ea\u5df1\u6307\u5b9a\u914d\u7f6e\u7684\u6587\u4ef6\uff0c\u6709\u4e24\u79cd\u6307\u5b9a\u65b9\u5f0f\uff1a\u73af\u5883\u53d8\u91cf\u548c\u51fd\u6570\u6307\u5b9a\n\n#### \u6307\u5b9a\u73af\u5883\u53d8\u91cf\n```python\nimport os\nos.environ.setdefault('ANDERSEN_CONFIG', 'log_config.toml')\n# \u5fc5\u987b\u5728\u5bfc\u5165\u524d\u8bbe\u7f6e\u73af\u5883\u53d8\u91cf\nimport andersen\nandersen.debug('debug')\nandersen.info('info')\nandersen.warn('warn')\nandersen.error('error')\n```\n\n#### \u51fd\u6570\u52a0\u8f7d\n```python\nimport andersen\nandersen.init('log_config.toml')\n\nandersen.debug('debug')\nandersen.info('info')\nandersen.warn('warn')\nandersen.error('error')\n```\n\n\u76ee\u524d\u53ea\u652f\u6301toml\u7684\u81ea\u5b9a\u4e49\u914d\u7f6e\u6587\u4ef6\uff0c\u793a\u4f8b\u6587\u4ef6\u5982\u4e0b\n```toml\n[log.common]\n # \u53ef\u9009\u53c2\u6570\n name = \"common\"\n\n # \u5fc5\u8981\u53c2\u6570\n level = \"info\"\n\n # \u53ef\u9009\u53c2\u6570\uff0c\u8fd9\u91cc\u5982\u679c\u914d\u7f6e\u7684\u8bdd\u5219handler\u5904\u6ca1\u6709\u914d\u7f6e\u7684\u8bdd\u4f1a\u5230\u8fd9\u91cc\u67e5\u627e\u3002\u5982\u679c\u90fd\u627e\u4e0d\u5230\u5219\u4f1a\u629b\u51fa\u5f02\u5e38\n format = \"[%(asctime)s] [%(levelname)s] %(message)s\"\n\n# \u8f93\u51fa\u5230\u63a7\u5236\u53f0\u7684\u914d\u7f6e\n[[log.common.handlers]]\n type = \"std\"\n # \u53ef\u9009\u53c2\u6570\n format = \"%(asctime)s %(levelname)s %(message)s\"\n level = \"info\"\n\n# \u8f93\u51fa\u5230\u6587\u4ef6\u7684\u914d\u7f6e\n[[log.common.handlers]]\n type = \"file\"\n # \u53ef\u9009\u53c2\u6570\n format = \"%(asctime)s %(levelname)s %(message)s\"\n level = \"info\"\n\n # \u5fc5\u8981\u53c2\u6570\n log_file = \"log/common.log\"\n\n# \u8f93\u51fa\u5230\u6309\u5927\u5c0f\u8fed\u4ee3\u7684\u6587\u4ef6\u7684\u914d\u7f6e\n[[log.common.handlers]]\n type = \"rotate\"\n # \u53ef\u9009\u53c2\u6570\n format = \"%(asctime)s %(levelname)s %(message)s\"\n level = \"info\"\n\n # \u5fc5\u8981\u53c2\u6570\n log_file = \"log/common1.log\"\n max_bytes = 1024\n\n# \u8f93\u51fa\u5230\u6309\u65f6\u95f4\u8fed\u4ee3\u7684\u6587\u4ef6\u7684\u914d\u7f6e\n[[log.common.handlers]]\n type = \"time_rotate\"\n # \u53ef\u9009\u53c2\u6570\n format = \"%(asctime)s %(levelname)s %(message)s\"\n level = \"info\"\n\n # \u5fc5\u8981\u53c2\u6570\n log_file = \"log/common2.log\"\n when = 'h'\n\n# \u5982\u679c\u9700\u8981\u914d\u7f6e\u53e6\u4e00\u4e2a\uff0c\u4fee\u6539log\u540e\u8fb9\u7684key\u540d\u79f0\u5373\u53ef\uff0c\u7136\u540e\u9700\u8981\u914d\u7f6e\u54ea\u4e9b\u7c7b\u578b\u7684handler\uff0c\u4ece\u4e0a\u8fb9\u590d\u5236\u540e\u4fee\u6539\u5373\u53ef\n[log.sample]\n name = \"sample\"\n level = \"debug\"\n format = \"[%(asctime)s] [%(levelname)s] %(message)s\"\n\n# \u8f93\u51fa\u5230\u63a7\u5236\u53f0\u7684\u914d\u7f6e\n[[log.sample.handlers]]\n type = \"std\"\n # \u53ef\u9009\u53c2\u6570\n format = \"%(asctime)s %(levelname)s %(message)s\"\n level = \"debug\"\n```\n\n# \u76f8\u5173\u51fd\u6570\n## \u65e5\u5fd7\u914d\u7f6e\n```python\ninit(conf=None, default_logger='common')\n```\n\u521d\u59cb\u5316\u51fd\u6570\u3002\u53ef\u91cd\u590d\u8c03\u7528\uff0c\u53ea\u4f1a\u5b9e\u9645\u6267\u884c\u4e00\u6b21\u3002\n* conf \u5982\u679c\u4e3aNone\u5219\u4ece\u73af\u5883\u53d8\u91cf\u8bfb\u53d6\u914d\u7f6e\u6587\u4ef6\uff0c\u5982\u679c\u4e0d\u5b58\u5728\u5219\u4f7f\u7528\u9ed8\u8ba4\u914d\u7f6e\uff0c\u5373\u521b\u5efa\u4e00\u4e2a\u8f93\u51fa\u5230\u63a7\u5236\u53f0\u7684\u65e5\u5fd7\u5bf9\u8c61\n* default_logger \u521d\u59cb\u5316\u540e\u9ed8\u8ba4\u4f7f\u7528\u7684\u65e5\u5fd7\u5bf9\u8c61\n\n```python\ngenerate_sample_config(filename)\n```\n\u5c06\u793a\u4f8b\u914d\u7f6e\u5199\u5165\u4e00\u4e2atoml\u6587\u4ef6\u3002\u5199\u5165\u5185\u5bb9\u89c1\u4e0a\u6587\n* filename \u76ee\u6807\u6587\u4ef6\n\n```python\nget_logger(key='common')\n```\n\u83b7\u53d6\u65e5\u5fd7\u5bf9\u8c61\u3002key\u5fc5\u987b\u5728\u914d\u7f6e\u6587\u4ef6\u91cc\u5df2\u7ecf\u5b9a\u4e49\u3002\u8fd4\u56de\u7684\u662f\u4e00\u4e2apython\u7684logging.Logger\u5bf9\u8c61\n* key \u65e5\u5fd7\u7684key\u503c\uff0c\u5373\u914d\u7f6e\u4e2dlog\u540e\u8fb9\u6240\u8ddf\u7684\u53c2\u6570\uff0c\u9ed8\u8ba4\u662fcommon\n\n## \u65e5\u5fd7\u8f93\u51fa\n```python\ndebug(*args, **kwargs)\n```\n\u8f93\u51fa\u8c03\u8bd5\u4fe1\u606f\u3002kwargs\u4e2d**\u53ef\u9009\u53c2\u6570**\n* logger \u8981\u4f7f\u7528\u54ea\u4e2a\u65e5\u5fd7\u8f93\u51fa\u4fe1\u606f\uff0c\u672a\u6307\u5b9a\u7684\u8bdd\u4f7f\u7528\u9ed8\u8ba4\u65e5\u5fd7\u8f93\u51fa\n* sep \u9ed8\u8ba4\u5206\u9694\u7b26\uff0c\u5982\u679c\u6307\u5b9a\u8be5\u53c2\u6570\u90a3\u4e48\u4e0b\u8fb9\u4e09\u4e2a\u53c2\u6570\u7684\u9ed8\u8ba4\u503c\u662f\u8be5\u503c\n* list_sep \u5217\u8868\u5206\u9694\u7b26\uff0c\u5373\u4f7f\u7528\u8be5\u53c2\u6570\u8fde\u63a5\u53c2\u6570args\n* para_sep \u53c2\u6570\u5206\u9694\u7b26\uff0c\u5373\u4f7f\u7528\u8be5\u53c2\u6570\u8fde\u63a5args\u548ckwargs\u751f\u6210\u7684\u5b57\u7b26\u4e32\n* dict_sep \u5b57\u5178\u5206\u9694\u7b26\uff0c\u5373\u4f7f\u7528\u8be5\u53c2\u6570\u8fde\u63a5\u53c2\u6570kwargs\n\n```python\ninfo(*args, **kwargs)\n```\n\u8f93\u51fa\u4fe1\u606f\u3002kwargs\u4e2d**\u53ef\u9009\u53c2\u6570**\n* logger \u8981\u4f7f\u7528\u54ea\u4e2a\u65e5\u5fd7\u8f93\u51fa\u4fe1\u606f\uff0c\u672a\u6307\u5b9a\u7684\u8bdd\u4f7f\u7528\u9ed8\u8ba4\u65e5\u5fd7\u8f93\u51fa\n* sep \u9ed8\u8ba4\u5206\u9694\u7b26\uff0c\u5982\u679c\u6307\u5b9a\u8be5\u53c2\u6570\u90a3\u4e48\u4e0b\u8fb9\u4e09\u4e2a\u53c2\u6570\u7684\u9ed8\u8ba4\u503c\u662f\u8be5\u503c\n* list_sep \u5217\u8868\u5206\u9694\u7b26\uff0c\u5373\u4f7f\u7528\u8be5\u53c2\u6570\u8fde\u63a5\u53c2\u6570args\n* para_sep \u53c2\u6570\u5206\u9694\u7b26\uff0c\u5373\u4f7f\u7528\u8be5\u53c2\u6570\u8fde\u63a5args\u548ckwargs\u751f\u6210\u7684\u5b57\u7b26\u4e32\n* dict_sep \u5b57\u5178\u5206\u9694\u7b26\uff0c\u5373\u4f7f\u7528\u8be5\u53c2\u6570\u8fde\u63a5\u53c2\u6570kwargs\n\n```python\nwarn(*args, **kwargs)\n```\n\u8f93\u51fa\u8b66\u544a\u4fe1\u606f\u3002kwargs\u4e2d**\u53ef\u9009\u53c2\u6570**\n* logger \u8981\u4f7f\u7528\u54ea\u4e2a\u65e5\u5fd7\u8f93\u51fa\u4fe1\u606f\uff0c\u672a\u6307\u5b9a\u7684\u8bdd\u4f7f\u7528\u9ed8\u8ba4\u65e5\u5fd7\u8f93\u51fa\n* sep \u9ed8\u8ba4\u5206\u9694\u7b26\uff0c\u5982\u679c\u6307\u5b9a\u8be5\u53c2\u6570\u90a3\u4e48\u4e0b\u8fb9\u4e09\u4e2a\u53c2\u6570\u7684\u9ed8\u8ba4\u503c\u662f\u8be5\u503c\n* list_sep \u5217\u8868\u5206\u9694\u7b26\uff0c\u5373\u4f7f\u7528\u8be5\u53c2\u6570\u8fde\u63a5\u53c2\u6570args\n* para_sep \u53c2\u6570\u5206\u9694\u7b26\uff0c\u5373\u4f7f\u7528\u8be5\u53c2\u6570\u8fde\u63a5args\u548ckwargs\u751f\u6210\u7684\u5b57\u7b26\u4e32\n* dict_sep \u5b57\u5178\u5206\u9694\u7b26\uff0c\u5373\u4f7f\u7528\u8be5\u53c2\u6570\u8fde\u63a5\u53c2\u6570kwargs\n\n```python\nerror(*args, **kwargs)\n```\n\u8f93\u51fa\u9519\u8bef\u4fe1\u606f\u3002kwargs\u4e2d**\u53ef\u9009\u53c2\u6570**\n* logger \u8981\u4f7f\u7528\u54ea\u4e2a\u65e5\u5fd7\u8f93\u51fa\u4fe1\u606f\uff0c\u672a\u6307\u5b9a\u7684\u8bdd\u4f7f\u7528\u9ed8\u8ba4\u65e5\u5fd7\u8f93\u51fa\n* sep \u9ed8\u8ba4\u5206\u9694\u7b26\uff0c\u5982\u679c\u6307\u5b9a\u8be5\u53c2\u6570\u90a3\u4e48\u4e0b\u8fb9\u4e09\u4e2a\u53c2\u6570\u7684\u9ed8\u8ba4\u503c\u662f\u8be5\u503c\n* list_sep \u5217\u8868\u5206\u9694\u7b26\uff0c\u5373\u4f7f\u7528\u8be5\u53c2\u6570\u8fde\u63a5\u53c2\u6570args\n* para_sep \u53c2\u6570\u5206\u9694\u7b26\uff0c\u5373\u4f7f\u7528\u8be5\u53c2\u6570\u8fde\u63a5args\u548ckwargs\u751f\u6210\u7684\u5b57\u7b26\u4e32\n* dict_sep \u5b57\u5178\u5206\u9694\u7b26\uff0c\u5373\u4f7f\u7528\u8be5\u53c2\u6570\u8fde\u63a5\u53c2\u6570kwargs\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://gitee.com/happy3014/andersen", "keywords": "", "license": "BSD License", "maintainer": "idlefish", "maintainer_email": "lvhuanle12@126.com", "name": "andersen", "package_url": "https://pypi.org/project/andersen/", "platform": "all", "project_url": "https://pypi.org/project/andersen/", "project_urls": { "Homepage": "https://gitee.com/happy3014/andersen" }, "release_url": "https://pypi.org/project/andersen/0.0.1/", "requires_dist": [ "toml" ], "requires_python": "", "summary": "python log library", "version": "0.0.1" }, "last_serial": 5699187, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "83bcc41fee5f1c6068abc6b103440bc4", "sha256": "44430386606e387c4ad672b236baf8dbf06f9843a5e7d34f380766228b49e464" }, "downloads": -1, "filename": "andersen-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "83bcc41fee5f1c6068abc6b103440bc4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10115, "upload_time": "2019-08-19T16:00:26", "url": "https://files.pythonhosted.org/packages/54/a4/0f4545a019762d74a62002d335d3a61c517fc9548f0137fd6dca794d6a2e/andersen-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3420fec0fea09a19193fb25ecc7ca1a0", "sha256": "3e0d4fad18af47324d6242fffa70c0f51c49421852fecf4d54881f1ac40d0c51" }, "downloads": -1, "filename": "andersen-0.0.1.tar.gz", "has_sig": false, "md5_digest": "3420fec0fea09a19193fb25ecc7ca1a0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6689, "upload_time": "2019-08-19T16:00:30", "url": "https://files.pythonhosted.org/packages/66/60/1d5e8cc6f27247b28f9697c504da83b77286a1fafef95110374eb0a860e2/andersen-0.0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "83bcc41fee5f1c6068abc6b103440bc4", "sha256": "44430386606e387c4ad672b236baf8dbf06f9843a5e7d34f380766228b49e464" }, "downloads": -1, "filename": "andersen-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "83bcc41fee5f1c6068abc6b103440bc4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10115, "upload_time": "2019-08-19T16:00:26", "url": "https://files.pythonhosted.org/packages/54/a4/0f4545a019762d74a62002d335d3a61c517fc9548f0137fd6dca794d6a2e/andersen-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3420fec0fea09a19193fb25ecc7ca1a0", "sha256": "3e0d4fad18af47324d6242fffa70c0f51c49421852fecf4d54881f1ac40d0c51" }, "downloads": -1, "filename": "andersen-0.0.1.tar.gz", "has_sig": false, "md5_digest": "3420fec0fea09a19193fb25ecc7ca1a0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6689, "upload_time": "2019-08-19T16:00:30", "url": "https://files.pythonhosted.org/packages/66/60/1d5e8cc6f27247b28f9697c504da83b77286a1fafef95110374eb0a860e2/andersen-0.0.1.tar.gz" } ] }