rotate expired user log files
All checks were successful
Build and Push Docker Image / build (push) Successful in 13s
All checks were successful
Build and Push Docker Image / build (push) Successful in 13s
This commit is contained in:
parent
3ae7b28433
commit
1be47acdd8
@ -16,7 +16,6 @@ from utils.models import Player
|
|||||||
|
|
||||||
ZOMBOID_FOLDER_PATH = Path(getenv("SPIFFO__ZOMBOID_FOLDER_PATH"))
|
ZOMBOID_FOLDER_PATH = Path(getenv("SPIFFO__ZOMBOID_FOLDER_PATH"))
|
||||||
LOGS_FOLDER_PATH = ZOMBOID_FOLDER_PATH / "Logs"
|
LOGS_FOLDER_PATH = ZOMBOID_FOLDER_PATH / "Logs"
|
||||||
USER_LOG_FILE_PATH = next(LOGS_FOLDER_PATH.glob("*_user.txt"), None)
|
|
||||||
TIMESTAMP_FORMAT = getenv("SPIFFO__ZOMBOID_LOG_TIMESTAMP_FORMAT", "%d-%m-%y %H:%M:%S.%f")
|
TIMESTAMP_FORMAT = getenv("SPIFFO__ZOMBOID_LOG_TIMESTAMP_FORMAT", "%d-%m-%y %H:%M:%S.%f")
|
||||||
|
|
||||||
log = logging.getLogger(__name__)
|
log = logging.getLogger(__name__)
|
||||||
@ -30,7 +29,7 @@ class PlayersCog(commands.Cog):
|
|||||||
|
|
||||||
def __init__(self, bot: commands.Bot):
|
def __init__(self, bot: commands.Bot):
|
||||||
self.bot = bot
|
self.bot = bot
|
||||||
self.file_handler = LogFileReader(USER_LOG_FILE_PATH)
|
self.create_file_handler()
|
||||||
self.listen_for_changes.start()
|
self.listen_for_changes.start()
|
||||||
|
|
||||||
cmd_group = app_commands.Group(
|
cmd_group = app_commands.Group(
|
||||||
@ -61,13 +60,22 @@ class PlayersCog(commands.Cog):
|
|||||||
self.listen_for_changes.start()
|
self.listen_for_changes.start()
|
||||||
await inter.followup.send("Completed")
|
await inter.followup.send("Completed")
|
||||||
|
|
||||||
|
def create_file_handler(self):
|
||||||
|
user_log_file_path = next(LOGS_FOLDER_PATH.glob("*_user.txt"), None)
|
||||||
|
self.file_handler = LogFileReader(user_log_file_path)
|
||||||
|
|
||||||
@tasks.loop(seconds=3)
|
@tasks.loop(seconds=3)
|
||||||
async def listen_for_changes(self):
|
async def listen_for_changes(self):
|
||||||
"""
|
"""
|
||||||
|
Listen for changes in the user.txt log file, and process them.
|
||||||
"""
|
"""
|
||||||
log.debug("listening for changes")
|
log.debug("listening for changes")
|
||||||
for line in await self.file_handler.read():
|
try:
|
||||||
await self.process_log_line(line)
|
for line in await self.file_handler.read():
|
||||||
|
await self.process_log_line(line)
|
||||||
|
except FileNotFoundError:
|
||||||
|
log.info("User log file not found, assuming it rotated to a new file.")
|
||||||
|
self.create_file_handler()
|
||||||
|
|
||||||
async def process_log_line(self, line: str, alert: bool = True):
|
async def process_log_line(self, line: str, alert: bool = True):
|
||||||
log.debug("processing log line")
|
log.debug("processing log line")
|
||||||
|
Reference in New Issue
Block a user