Spaces:
Running
Running
import logging | |
import time | |
import sys | |
import codecs | |
sys.stdout = codecs.getwriter("utf-8")(sys.stdout.detach()) | |
sys.stderr = codecs.getwriter("utf-8")(sys.stderr.detach()) | |
logger = logging.getLogger(__name__) | |
stream_handler = logging.StreamHandler() | |
log_filename = "output.log" | |
file_handler = logging.FileHandler(filename=log_filename , encoding='utf-8') | |
handlers = [stream_handler, file_handler] | |
class TimeFilter(logging.Filter): | |
def filter(self, record): | |
return "Running" in record.getMessage() | |
logger.addFilter(TimeFilter()) | |
# Configure the logging module | |
logging.basicConfig( | |
level=logging.INFO, | |
format="%(name)s %(asctime)s - %(levelname)s - %(message)s", | |
handlers=handlers, | |
) | |
import logging | |
def time_logger(func): | |
"""Decorator function to log time taken by any function.""" | |
# @wraps(func) | |
def wrapper(*args, **kwargs): | |
start_time = time.time() # Start time before function execution | |
result = func(*args, **kwargs) # Function execution | |
end_time = time.time() # End time after function execution | |
execution_time = end_time - start_time # Calculate execution time | |
logger.info(f"Running {func.__name__}: --- {execution_time} seconds ---") | |
return result | |
return wrapper |