Only keep logs of the last 5 runs of Lutris, create one file per run

This commit is contained in:
Mathieu Comandon 2024-04-13 00:38:46 -07:00
parent 3d47983783
commit 4552089cc4
2 changed files with 9 additions and 8 deletions

View file

@ -55,7 +55,7 @@ from lutris.style_manager import StyleManager
from lutris.util import datapath, log, system
from lutris.util.http import HTTPError, Request
from lutris.util.jobs import AsyncCall
from lutris.util.log import logger
from lutris.util.log import file_handler, logger
from lutris.util.savesync import save_check, show_save_stats, upload_save
from lutris.util.steam.appmanifest import AppManifest, get_appmanifests
from lutris.util.steam.config import get_steamapps_dirs
@ -329,6 +329,7 @@ class Application(Gtk.Application):
def do_startup(self): # pylint: disable=arguments-differ
"""Sets up the application on first start."""
Gtk.Application.do_startup(self)
file_handler.doRollover()
signal.signal(signal.SIGINT, signal.SIG_DFL)
action = Gio.SimpleAction.new("quit")

View file

@ -16,22 +16,22 @@ if not os.path.isdir(CACHE_DIR):
# Formatters
FILE_FORMATTER = logging.Formatter("[%(levelname)s:%(asctime)s:%(module)s]: %(message)s")
SIMPLE_FORMATTER = logging.Formatter("%(asctime)s: %(message)s")
DEBUG_FORMATTER = logging.Formatter("%(levelname)-8s %(asctime)s [%(module)s.%(funcName)s:%(lineno)s]:%(message)s")
# Log file setup
LOG_FILENAME = os.path.join(CACHE_DIR, "lutris.log")
loghandler = logging.handlers.RotatingFileHandler(LOG_FILENAME, maxBytes=20971520, backupCount=5)
loghandler.setFormatter(FILE_FORMATTER)
file_handler = logging.handlers.RotatingFileHandler(LOG_FILENAME, backupCount=5)
file_handler.setFormatter(FILE_FORMATTER)
logger = logging.getLogger(__name__)
logger.setLevel(logging.DEBUG)
logger.addHandler(loghandler)
file_logger = logging.getLogger(__name__)
file_logger.setLevel(logging.DEBUG)
file_logger.addHandler(file_handler)
# Set the logging level to show debug messages.
console_handler = logging.StreamHandler(stream=sys.stderr)
console_handler.setFormatter(SIMPLE_FORMATTER)
logger = logging.getLogger(__name__)
logger.addHandler(console_handler)
logger.setLevel(logging.INFO)