We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
import time import logging from essentials.decorators.logs import log logger = logging.getLogger(f'fn_calls') logger.setLevel(logging.INFO) logger.addHandler(logging.StreamHandler()) @log() def a_function_that_gets_logged_at_each_call(): # do something... time.sleep(0.235) a_function_that_gets_logged_at_each_call()
Logs an output like the following:
__main__.a_function_that_gets_logged_at_each_call; called; call id: 53c43283-5a94-4d53-87dc-31af49e6d634 __main__.a_function_that_gets_logged_at_each_call; completed; call id: 53c43283-5a94-4d53-87dc-31af49e6d634; elapsed 235.39783200067177 ms
Supporting also async/await functions:
import time import asyncio import logging from essentials.decorators.logs import log logger = logging.getLogger(f'fn_calls') logger.setLevel(logging.INFO) logger.addHandler(logging.StreamHandler()) @log() async def a_function_that_gets_logged_at_each_call(): # do something... await asyncio.sleep(0.235) loop = asyncio.get_event_loop() loop.run_until_complete(a_function_that_gets_logged_at_each_call())