Spaces:
Runtime error
Runtime error
File size: 1,418 Bytes
abb6f94 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
import logging
from logging.handlers import RotatingFileHandler
import os
from app.settings import Config
# Define whether logging should be enabled
is_logging = True # Set to False to disable logging
conf = Config()
# Log file settings
LOG_FILE = f"{conf.LOG_DIR}/app.log"
LOG_LEVEL = logging.INFO
def setup_logging():
"""Configure logging for the entire application."""
if not is_logging:
# Disable all logging if is_logging is False
logging.disable(logging.CRITICAL)
return
# Create a logger
logger = logging.getLogger()
logger.setLevel(LOG_LEVEL)
# Create a rotating file handler to store logs in a file
file_handler = RotatingFileHandler(LOG_FILE, maxBytes=5 * 1024 * 1024, backupCount=2, encoding='utf-8')
file_handler.setLevel(LOG_LEVEL)
# Create a stream handler to log to console
stream_handler = logging.StreamHandler()
stream_handler.setLevel(LOG_LEVEL)
# Define the format for log messages
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
file_handler.setFormatter(formatter)
stream_handler.setFormatter(formatter)
# Add the handlers to the logger
logger.addHandler(file_handler)
logger.addHandler(stream_handler)
logging.info("Logging setup complete")
# Call the function to set up logging when the module is imported
setup_logging() |