Skip to main content

Automatically add function call logs and method call logs for Python code.

Project description

Auto-logger

CI

Automatically add function call logs and method call logs for Python code.

Install

pip install -U auto-logger

Use

import logging
from dataclasses import dataclass

from auto_logger import Config, MethodLoggerMeta, logFuncCall,formatJson

logging.basicConfig(level=logging.INFO)


@logFuncCall
def add(a: int, b: int):
    return a + b


add(1, 2) # INFO:auto_logger:CALL FUCNTION <add> WITH ARGS (1, 2) KWARGS {} RETURNS  3
add(a=1, b=2) # INFO:auto_logger:CALL FUCNTION <add> WITH ARGS () KWARGS {'a': 1, 'b': 2} RETURNS  3


@dataclass
class A(metaclass=MethodLoggerMeta):
    a: int = 0

    def add(self, n: int):
        self.a += 1

    def abs(self):
        return abs(self.a)

A().add(1)  # INFO:auto_logger:CALL METHOD <add> OF A(a=0) WITH ARGS (1,) KWARGS {} RETURNS  None


Config.format = formatJson
A().add(1) # INFO:auto_logger:{"args": [1], "kwargs": {}, "ret": null, "method": "add", "object": "A(a=0)"}

Config.ignoreMethods[A] = {'abs'}
A().abs() # Log nothing

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

auto-logger-0.1.2.tar.gz (3.1 kB view hashes)

Uploaded Source

Built Distribution

auto_logger-0.1.2-py3-none-any.whl (3.6 kB view hashes)

Uploaded Python 3

Supported by

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