Implement robust logging with flexi_logger and update CI to verify logs
Some checks failed
Smoke tests / Build and smoke test (pull_request) Successful in 1m30s
Smoke tests / Build and smoke test (push) Has been cancelled

This commit is contained in:
AI Agent
2026-03-19 18:04:32 -06:00
parent 678543dd9a
commit b81362d4d1
9 changed files with 157 additions and 130 deletions

View File

@@ -139,7 +139,7 @@ jobs:
echo "go down"
echo "go south"
echo "attack thief"
sleep 8
sleep 15
echo "stats"
echo "quit"
) | ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -p 2222 smoketest@localhost
@@ -170,3 +170,33 @@ jobs:
grep -q '"shop"' rpc_resp.json
rm rpc_resp.json
./target/debug/mudtool -d "$TEST_DB" players delete rpctest
- name: Verify logging
run: |
set +e
if [ ! -d "logs" ]; then
echo "Error: logs directory not found"
exit 1
fi
FAILED=0
echo "Checking mudserver logs..."
grep -q "World '.*': .* rooms" logs/mudserver_*.log || { echo "Failed: World loading log missing"; FAILED=1; }
grep -q "MUD server listening on" logs/mudserver_*.log || { echo "Failed: Listen log missing"; FAILED=1; }
grep -q "New character created: smoketest" logs/mudserver_*.log || { echo "Failed: smoketest creation log missing"; FAILED=1; }
grep -q "Admin action: registration setting updated: '.*'" logs/mudserver_*.log || { echo "Failed: Admin action log missing"; FAILED=1; }
echo "Checking combat logs..."
grep -q "Combat: Player 'smoketest' (ID .*) engaged NPC 'Shadowy Thief'" logs/combat_*.log || { echo "Failed: Combat engagement log missing"; FAILED=1; }
grep -q "Combat: Player 'smoketest' (ID .*) killed NPC 'Shadowy Thief'" logs/combat_*.log || { echo "Failed: NPC kill log missing"; FAILED=1; }
if [ $FAILED -ne 0 ]; then
echo "--- LOG VERIFICATION FAILED ---"
echo "--- MUDSERVER LOG CONTENTS ---"
cat logs/mudserver_*.log
echo "--- COMBAT LOG CONTENTS ---"
cat logs/combat_*.log
exit 1
fi
echo "Logging verification passed."