Skip to main content

Fyers Internal Logging Library

Project description

README

This module is installed via pip:

pip install otel-fyers-logger

Packages Required

  • python-json-logger

Usage

Create a simple JSON Logger

import logging
from otel-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()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fyers-logger-2.0-0.2.1.tar.gz (3.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fyers_logger_2.0-0.2.1-py3-none-any.whl (4.0 kB view details)

Uploaded Python 3

File details

Details for the file fyers-logger-2.0-0.2.1.tar.gz.

File metadata

  • Download URL: fyers-logger-2.0-0.2.1.tar.gz
  • Upload date:
  • Size: 3.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.12

File hashes

Hashes for fyers-logger-2.0-0.2.1.tar.gz
Algorithm Hash digest
SHA256 53dbc3bf966babeb4e8321103844282ea86d1e491e2332ebb3d8d0ec0e2af0eb
MD5 9527896efa51309b749485a524455fca
BLAKE2b-256 309ec8150ebb3e8582eef800fe6cb768d75dd5f9d5270f60d0bd701b05b5bf2e

See more details on using hashes here.

File details

Details for the file fyers_logger_2.0-0.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for fyers_logger_2.0-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6a12f3b9bfdb1dda8a064d8d7b65eb3d71710cefd461ba611e141e366463c6ca
MD5 c9a6e286770cdf393d520803e6a6aad2
BLAKE2b-256 27732153dd7745684ce289c683a4d3d3d47550b4642fec4748aebcf0991a7b7c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page