mirror of
https://github.com/basicmachines-co/basic-memory
synced 2026-06-21 13:47:35 +00:00
49 lines
1.1 KiB
Python
49 lines
1.1 KiB
Python
"""Main CLI entry point for basic-memory."""
|
|
import sys
|
|
|
|
import typer
|
|
from loguru import logger
|
|
|
|
from basic_memory.cli.app import app
|
|
from basic_memory.cli.commands.init import init
|
|
|
|
# Register commands
|
|
from basic_memory.cli.commands import init, status, sync
|
|
__all__ = ["init", "status", "sync"]
|
|
|
|
from basic_memory.config import config
|
|
|
|
|
|
def setup_logging(home_dir: str = config.home, log_file: str = "basic-memory-tools.log"):
|
|
"""Configure logging for the application."""
|
|
|
|
# Remove default handler and any existing handlers
|
|
logger.remove()
|
|
|
|
# Add file handler for debug level logs
|
|
log = f"{home_dir}/{log_file}"
|
|
logger.add(
|
|
log,
|
|
level="DEBUG",
|
|
rotation="100 MB",
|
|
retention="10 days",
|
|
backtrace=True,
|
|
diagnose=True,
|
|
enqueue=True,
|
|
colorize=False,
|
|
)
|
|
|
|
# Add stderr handler for warnings and errors only
|
|
logger.add(
|
|
sys.stderr,
|
|
level="WARNING",
|
|
backtrace=True,
|
|
diagnose=True
|
|
)
|
|
|
|
# Set up logging when module is imported
|
|
setup_logging()
|
|
|
|
if __name__ == "__main__": # pragma: no cover
|
|
app()
|