mirror of
https://github.com/tcsenpai/telnet_retro_chat.git
synced 2025-06-03 01:40:19 +00:00
added basic logging
This commit is contained in:
parent
d9f464257d
commit
88ae2655b0
20
main.py
20
main.py
@ -7,6 +7,7 @@ from libs.user_manager import UserManager
|
||||
from libs.process_message import CommandProcessor
|
||||
from libs.banner import load_banner
|
||||
from libs.room_manager import RoomManager
|
||||
from datetime import datetime
|
||||
|
||||
# Load environment variables
|
||||
load_dotenv()
|
||||
@ -28,6 +29,23 @@ room_manager = RoomManager()
|
||||
command_processor = CommandProcessor(user_manager, room_manager)
|
||||
|
||||
|
||||
def log_connection(addr, event_type, username=None):
|
||||
"""Log connection events with timestamp."""
|
||||
timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
|
||||
ip = addr[0] if addr[0] != "console" else "SERVER"
|
||||
username = username or user_manager.get_username(addr)
|
||||
|
||||
log_entry = f"[{timestamp}] {ip} - {event_type} - {username}\n"
|
||||
|
||||
# Ensure logs directory exists
|
||||
os.makedirs("logs", exist_ok=True)
|
||||
|
||||
# Append to daily log file
|
||||
date = datetime.now().strftime("%Y-%m-%d")
|
||||
with open(f"logs/connections_{date}.log", "a") as f:
|
||||
f.write(log_entry)
|
||||
|
||||
|
||||
def handle_backspace(display_buffer, conn):
|
||||
"""Handle backspace/delete character input."""
|
||||
if display_buffer:
|
||||
@ -138,6 +156,7 @@ def handle_client(conn, addr):
|
||||
addr (tuple): Client address information
|
||||
"""
|
||||
print(f"Connected by {addr}")
|
||||
log_connection(addr, "CONNECT")
|
||||
|
||||
# Register as guest initially
|
||||
username = user_manager.register_session(addr)
|
||||
@ -204,6 +223,7 @@ def handle_client(conn, addr):
|
||||
def cleanup_client_connection(addr):
|
||||
"""Clean up resources when a client disconnects."""
|
||||
print(f"Client {addr} disconnected")
|
||||
log_connection(addr, "DISCONNECT")
|
||||
username = user_manager.get_username(addr)
|
||||
room_manager.leave_current_room(addr)
|
||||
with connections_lock:
|
||||
|
Loading…
x
Reference in New Issue
Block a user