33 lines
998 B
Python
33 lines
998 B
Python
import logging
|
|
import os
|
|
import sys
|
|
|
|
def setup_logger():
|
|
# Find application directory
|
|
if getattr(sys, 'frozen', False):
|
|
app_dir = os.path.dirname(sys.executable)
|
|
else:
|
|
# If in a package, go up one level to the root
|
|
app_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
|
|
|
log_file = os.path.join(app_dir, "git_monitor.log")
|
|
|
|
logger = logging.getLogger("GitMonitor")
|
|
logger.setLevel(logging.INFO)
|
|
|
|
formatter = logging.Formatter('%(asctime)s %(levelname)s %(message)s', datefmt='%Y-%m-%d %H:%M:%S')
|
|
|
|
# File handler
|
|
file_handler = logging.FileHandler(log_file)
|
|
file_handler.setFormatter(formatter)
|
|
logger.addHandler(file_handler)
|
|
|
|
# Also log to stdout for development (though it will be --noconsole eventually)
|
|
stream_handler = logging.StreamHandler(sys.stdout)
|
|
stream_handler.setFormatter(formatter)
|
|
logger.addHandler(stream_handler)
|
|
|
|
return logger
|
|
|
|
logger = setup_logger()
|