import logging import argparse def setup_logging(args=None): """ Configure logging based on command line arguments Args: args: The parsed command line arguments Returns: A configured logger instance """ # Create logger logger = logging.getLogger("fbroswer") # Set level based on debug flag if args and args.debug_on: logger.setLevel(logging.DEBUG) # Create more verbose formatter for debug mode formatter = logging.Formatter( "%(asctime)s - %(name)s - %(levelname)s - %(filename)s:%(lineno)d - %(message)s" ) else: logger.setLevel(logging.CRITICAL) # Create simpler formatter for normal operation formatter = logging.Formatter( "%(asctime)s - %(levelname)s - %(message)s" ) # Create console handler console_handler = logging.StreamHandler() console_handler.setFormatter(formatter) # Add handler to logger logger.addHandler(console_handler) # Optionally add file handler for persistent logs file_handler = logging.FileHandler("fbroswer.log") file_handler.setFormatter(formatter) logger.addHandler(file_handler) return logger