Copy the files in the new repo for public release
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
import logging
|
||||
from contextlib import contextmanager
|
||||
|
||||
|
||||
class PocketTTSFilter(logging.Filter):
|
||||
def filter(self, record):
|
||||
return record.name.startswith("pocket_tts")
|
||||
|
||||
|
||||
@contextmanager
|
||||
def enable_logging(library_name, level):
|
||||
# Get the specific logger and its parent
|
||||
logger = logging.getLogger(library_name)
|
||||
parent_logger = logging.getLogger("pocket_tts")
|
||||
|
||||
# Store original configuration
|
||||
old_level = logger.level
|
||||
old_parent_level = parent_logger.level
|
||||
old_handlers = parent_logger.handlers.copy()
|
||||
|
||||
# Configure logging format for pocket_tts logger
|
||||
parent_logger.setLevel(level)
|
||||
|
||||
# Clear existing handlers and add our custom formatter with filter
|
||||
parent_logger.handlers.clear()
|
||||
handler = logging.StreamHandler()
|
||||
formatter = logging.Formatter("%(levelname)s: %(message)s")
|
||||
handler.setFormatter(formatter)
|
||||
handler.addFilter(PocketTTSFilter())
|
||||
parent_logger.addHandler(handler)
|
||||
parent_logger.propagate = False
|
||||
|
||||
try:
|
||||
yield logger
|
||||
finally:
|
||||
# Restore original configuration
|
||||
logger.setLevel(old_level)
|
||||
parent_logger.setLevel(old_parent_level)
|
||||
parent_logger.handlers.clear()
|
||||
for h in old_handlers:
|
||||
parent_logger.addHandler(h)
|
||||
Reference in New Issue
Block a user