README
========
This module is installed via pip:
```
pip install fyers-logger
```
Packages Required
- python-json-logger
## Usage
Create a simple JSON Logger
```
import logging
from fyers_logger import FyersLogger
logger = FyersLogger("fyers_logger", level=logging.DEBUG)
```
Set parameters for a request
```
import uuid
logger.set_fyId("ABC123")
logger.set_requestId(f"{uuid.uuid4()}")
```
Define logger with a custom handlers
```
from logging import FileHandler
from logging.handlers import TimedRotatingFileHandler
formatter = FyersLogger.get_json_formatter()
timed_rotating_handler = TimedRotatingFileHandler("fyers_logger_time_rotating.log", when="midnight", interval=1)
timed_rotating_handler.setFormatter(formatter)
simple_file_handler = FileHandler("fyers_logger.log")
simple_file_handler.setFormatter(formatter)
logger = FyersLogger("fyers_logger", handlers=[timed_rotating_handler, simple_file_handler], level=logging.DEBUG)
```
Add more handlers to the logger
```
new_file_handler = logging.FileHandler("fyers_logger_new_file.log")
new_file_handler.setFormatter(FyersLogger.get_json_formatter())
logger.add_handler(new_file_handler)
```
Log Data
```
logger.debug("This is a debug message", 1, 2,4, foo="bar", bar="baz")
logger.info("This is a info message", 1, 2,4, foo="bar", bar="baz", stacklevel=2)
logger.warning("This is a warning message", 1, 2,4, foo="bar", bar="baz")
logger.error("This is a error message", 1, 2,4, foo="bar", bar="baz")
logger.critical("This is a critical message", 1, 2,4, foo="bar", bar="baz")
try:
raise Exception("DB connection error")
except Exception as e:
logger.exception("getRRSpanFromDB", 1, 2,4, foo="bar", bar="baz")
```
Example Output
```
{"timestamp": "2023-09-20T18:29:33.967675Z", "level": "DEBUG", "name": "fyers_logger", "location": "[main:5] test_main", "message": "This is a debug message", "foo": "bar", "bar": "baz", "log_arguments": [1, 2, 4], "fyId": "ABC123", "requestId": "1469283c-cb2d-4ba5-9e8a-fe58930d72cf"}
{"timestamp": "2023-09-20T18:29:33.967944Z", "level": "INFO", "name": "fyers_logger", "location": "[main:5] test_main", "message": "This is an info message", "foo": "bar", "bar": "baz", "log_arguments": [1, 2, 4], "fyId": "ABC123", "requestId": "1469283c-cb2d-4ba5-9e8a-fe58930d72cf"}
{"timestamp": "2023-09-20T18:29:33.968095Z", "level": "WARNING", "name": "fyers_logger", "location": "[main:5] test_main", "message": "This is a warning message", "foo": "bar", "bar": "baz", "log_arguments": [1, 2, 4], "fyId": "ABC123", "requestId": "1469283c-cb2d-4ba5-9e8a-fe58930d72cf"}
{"timestamp": "2023-09-20T18:29:33.968238Z", "level": "ERROR", "name": "fyers_logger", "location": "[main:5] test_main", "message": "This is an error message", "foo": "bar", "bar": "baz", "log_arguments": [1, 2, 4], "fyId": "ABC123", "requestId": "1469283c-cb2d-4ba5-9e8a-fe58930d72cf"}
{"timestamp": "2023-09-20T18:29:33.968375Z", "level": "CRITICAL", "name": "fyers_logger", "location": "[main:5] test_main", "message": "This is a critical message", "foo": "bar", "bar": "baz", "log_arguments": [1, 2, 4], "fyId": "ABC123", "requestId": "1469283c-cb2d-4ba5-9e8a-fe58930d72cf"}
{"timestamp": "2023-09-20T18:29:33.968647Z", "level": "ERROR", "name": "fyers_logger", "location": "[main:5] test_main", "message": "getRRSpanFromDB\n %Traceback (most recent call last):\n File \"/home/logger/test.py\", line 60, in b\n raise Exception(\"DB connection error\")\nException: DB connection error\n", "foo": "bar", "bar": "baz", "log_arguments": [1, 2, 4], "fyId": "ABC123", "requestId": "1469283c-cb2d-4ba5-9e8a-fe58930d72cf"}
```
Clear data after every request
```
logger.clear_data()
```
Raw data
{
"_id": null,
"home_page": "https://github.com/FyersDev/fyers-logger",
"name": "otel-fyers-logger",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": "",
"keywords": "",
"author": "Fyers-Tech",
"author_email": "support@fyers.in",
"download_url": "https://files.pythonhosted.org/packages/5e/b9/fbf130006e149ab6583537da4d42f7d42993aab08950b21a832a0144a849/otel-fyers-logger-1.0.0.tar.gz",
"platform": null,
"description": "README\n========\n\nThis module is installed via pip:\n\n```\npip install fyers-logger\n```\n\nPackages Required\n - python-json-logger\n\n\n## Usage\n\nCreate a simple JSON Logger \n```\nimport logging\nfrom fyers_logger import FyersLogger\n\nlogger = FyersLogger(\"fyers_logger\", level=logging.DEBUG)\n```\n\nSet parameters for a request\n```\nimport uuid\n\nlogger.set_fyId(\"ABC123\")\nlogger.set_requestId(f\"{uuid.uuid4()}\")\n```\n\nDefine logger with a custom handlers\n```\nfrom logging import FileHandler\nfrom logging.handlers import TimedRotatingFileHandler\nformatter = FyersLogger.get_json_formatter()\n\ntimed_rotating_handler = TimedRotatingFileHandler(\"fyers_logger_time_rotating.log\", when=\"midnight\", interval=1)\ntimed_rotating_handler.setFormatter(formatter)\n\nsimple_file_handler = FileHandler(\"fyers_logger.log\")\nsimple_file_handler.setFormatter(formatter)\n\nlogger = FyersLogger(\"fyers_logger\", handlers=[timed_rotating_handler, simple_file_handler], level=logging.DEBUG)\n```\n\nAdd more handlers to the logger\n```\nnew_file_handler = logging.FileHandler(\"fyers_logger_new_file.log\")\nnew_file_handler.setFormatter(FyersLogger.get_json_formatter())\nlogger.add_handler(new_file_handler)\n```\n\nLog Data\n```\nlogger.debug(\"This is a debug message\", 1, 2,4, foo=\"bar\", bar=\"baz\")\nlogger.info(\"This is a info message\", 1, 2,4, foo=\"bar\", bar=\"baz\", stacklevel=2)\nlogger.warning(\"This is a warning message\", 1, 2,4, foo=\"bar\", bar=\"baz\")\nlogger.error(\"This is a error message\", 1, 2,4, foo=\"bar\", bar=\"baz\")\nlogger.critical(\"This is a critical message\", 1, 2,4, foo=\"bar\", bar=\"baz\")\n\ntry:\n raise Exception(\"DB connection error\")\nexcept Exception as e:\n logger.exception(\"getRRSpanFromDB\", 1, 2,4, foo=\"bar\", bar=\"baz\")\n```\n\nExample Output\n```\n{\"timestamp\": \"2023-09-20T18:29:33.967675Z\", \"level\": \"DEBUG\", \"name\": \"fyers_logger\", \"location\": \"[main:5] test_main\", \"message\": \"This is a debug message\", \"foo\": \"bar\", \"bar\": \"baz\", \"log_arguments\": [1, 2, 4], \"fyId\": \"ABC123\", \"requestId\": \"1469283c-cb2d-4ba5-9e8a-fe58930d72cf\"}\n\n{\"timestamp\": \"2023-09-20T18:29:33.967944Z\", \"level\": \"INFO\", \"name\": \"fyers_logger\", \"location\": \"[main:5] test_main\", \"message\": \"This is an info message\", \"foo\": \"bar\", \"bar\": \"baz\", \"log_arguments\": [1, 2, 4], \"fyId\": \"ABC123\", \"requestId\": \"1469283c-cb2d-4ba5-9e8a-fe58930d72cf\"}\n\n{\"timestamp\": \"2023-09-20T18:29:33.968095Z\", \"level\": \"WARNING\", \"name\": \"fyers_logger\", \"location\": \"[main:5] test_main\", \"message\": \"This is a warning message\", \"foo\": \"bar\", \"bar\": \"baz\", \"log_arguments\": [1, 2, 4], \"fyId\": \"ABC123\", \"requestId\": \"1469283c-cb2d-4ba5-9e8a-fe58930d72cf\"}\n\n{\"timestamp\": \"2023-09-20T18:29:33.968238Z\", \"level\": \"ERROR\", \"name\": \"fyers_logger\", \"location\": \"[main:5] test_main\", \"message\": \"This is an error message\", \"foo\": \"bar\", \"bar\": \"baz\", \"log_arguments\": [1, 2, 4], \"fyId\": \"ABC123\", \"requestId\": \"1469283c-cb2d-4ba5-9e8a-fe58930d72cf\"}\n\n{\"timestamp\": \"2023-09-20T18:29:33.968375Z\", \"level\": \"CRITICAL\", \"name\": \"fyers_logger\", \"location\": \"[main:5] test_main\", \"message\": \"This is a critical message\", \"foo\": \"bar\", \"bar\": \"baz\", \"log_arguments\": [1, 2, 4], \"fyId\": \"ABC123\", \"requestId\": \"1469283c-cb2d-4ba5-9e8a-fe58930d72cf\"}\n\n{\"timestamp\": \"2023-09-20T18:29:33.968647Z\", \"level\": \"ERROR\", \"name\": \"fyers_logger\", \"location\": \"[main:5] test_main\", \"message\": \"getRRSpanFromDB\\n %Traceback (most recent call last):\\n File \\\"/home/logger/test.py\\\", line 60, in b\\n raise Exception(\\\"DB connection error\\\")\\nException: DB connection error\\n\", \"foo\": \"bar\", \"bar\": \"baz\", \"log_arguments\": [1, 2, 4], \"fyId\": \"ABC123\", \"requestId\": \"1469283c-cb2d-4ba5-9e8a-fe58930d72cf\"}\n\n```\n\nClear data after every request\n\n```\nlogger.clear_data()\n```\n\n\n",
"bugtrack_url": null,
"license": "",
"summary": "Fyers Internal Logging Library",
"version": "1.0.0",
"project_urls": {
"Homepage": "https://github.com/FyersDev/fyers-logger"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "ee437be4074d81f0cc07689be3bc88146a2a5af8ce38450260e19cb617b65be9",
"md5": "fc97538e064861f3af7275c99a35c2c9",
"sha256": "2f32955b8f722c1c5a689dbad9e00b49907ec8b866b143c5fd38407832c108f0"
},
"downloads": -1,
"filename": "otel_fyers_logger-1.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "fc97538e064861f3af7275c99a35c2c9",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 3347,
"upload_time": "2023-11-04T11:46:25",
"upload_time_iso_8601": "2023-11-04T11:46:25.098530Z",
"url": "https://files.pythonhosted.org/packages/ee/43/7be4074d81f0cc07689be3bc88146a2a5af8ce38450260e19cb617b65be9/otel_fyers_logger-1.0.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "5eb9fbf130006e149ab6583537da4d42f7d42993aab08950b21a832a0144a849",
"md5": "1e716becaf174a7f377b261aeee89d4b",
"sha256": "d4d36a954329706940206aae2ee2cda07d1f98d4f3364f4f1cb987eef3e7cd83"
},
"downloads": -1,
"filename": "otel-fyers-logger-1.0.0.tar.gz",
"has_sig": false,
"md5_digest": "1e716becaf174a7f377b261aeee89d4b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 3768,
"upload_time": "2023-11-04T11:46:27",
"upload_time_iso_8601": "2023-11-04T11:46:27.172126Z",
"url": "https://files.pythonhosted.org/packages/5e/b9/fbf130006e149ab6583537da4d42f7d42993aab08950b21a832a0144a849/otel-fyers-logger-1.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-11-04 11:46:27",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "FyersDev",
"github_project": "fyers-logger",
"github_not_found": true,
"lcname": "otel-fyers-logger"
}