Logs Folder

The logs folder contains comprehensive interaction logs that track all AI assistant interactions for both Minecraft and Discord.

Log File Format

Log files are saved with a date-based naming convention: YYYY-MM-DD.log (e.g., 2025-08-29.log). Each day's interactions are stored in a separate file for easy organization and management.

Example log file (2025-08-29.log)
[2025-08-29 22:26:24] [INIT_EMBEDDING] Loading 2 files.
[2025-08-29 22:26:24] [INIT_EMBEDDING] Stored cache state matches current state, skipping ingestion.

[2025-08-29 22:26:30] [INTERACTION] Platform: Minecraft | Type: Public | Player: Kaludii | UUID: df1319b5-5e8e-43fb-b804-0ee6542c6080
[2025-08-29 22:26:30] [QUESTION] "How can I claim land?"
[2025-08-29 22:26:31] [EMBEDDING] Chunks found: 5 | Time spent: 670.94ms
[2025-08-29 22:26:32] [RESPONSE] "Use the golden shovel from /kit claim claim. Click two corner blocks to claim the area. You get 100 claim blocks per hour to use."
[2025-08-29 22:26:32] [SUMMARY] Success | Input Tokens 1392 | Output Tokens: 31 | Response time: 729.84ms

[2025-08-29 22:26:41] [INTERACTION] Platform: Minecraft | Type: Public | Player: Kaludii | UUID: df1319b5-5e8e-43fb-b804-0ee6542c6080
[2025-08-29 22:26:41] [QUESTION] "How can I unclaim land?"
[2025-08-29 22:26:41] [EMBEDDING] Chunks found: 5 | Time spent: 336.70ms
[2025-08-29 22:26:42] [RESPONSE] "Stand in your claim and type /Abandonclaim to delete the current claim or /AbandonAllClaims to delete all your claims."
[2025-08-29 22:26:42] [SUMMARY] Success | Input Tokens 1434 | Output Tokens: 28 | Response time: 846.36ms

[2025-08-29 22:26:46] [INTERACTION] Platform: Minecraft | Type: Private Ask | Player: Kaludii | UUID: df1319b5-5e8e-43fb-b804-0ee6542c6080
[2025-08-29 22:26:46] [QUESTION] "Hi there"
[2025-08-29 22:26:47] [EMBEDDING] Chunks found: 5 | Time spent: 201.98ms
[2025-08-29 22:26:48] [RESPONSE] "Hello Kaludii! How can I assist you today on our Minecraft server?"
[2025-08-29 22:26:48] [SUMMARY] Success | Input Tokens 1254 | Output Tokens: 17 | Response time: 1003.01ms

[2025-08-29 22:26:54] [INTERACTION] Platform: Minecraft | Type: Private Chat | Player: Kaludii | UUID: df1319b5-5e8e-43fb-b804-0ee6542c6080
[2025-08-29 22:26:54] [QUESTION] "Who are you?"
[2025-08-29 22:26:54] [EMBEDDING] Chunks found: 5 | Time spent: 499.06ms
[2025-08-29 22:26:55] [RESPONSE] "I'm ProtectorGPT, your friendly in-game assistant for this Minecraft Survival Server, here to help with game and server questions!"
[2025-08-29 22:26:55] [SUMMARY] Success | Input Tokens 957 | Output Tokens: 25 | Response time: 422.88ms

[2025-08-29 22:29:00] [INTERACTION] Platform: Discord | Channel: #dev-ai-qd | Sender: @kaludi (787338478722744342) | Requester: none
[2025-08-29 22:29:00] [QUESTION] "How can I claim land?"
[2025-08-29 22:29:01] [EMBEDDING] Chunks found: 5 | Time spent: 853.09ms
[2025-08-29 22:29:03] [RESPONSE] "Hi Kaludi! To claim land, use the golden shovel you get from the claim kit by typing `/kit claim`. Click the first block where you want to start and then the second block across to claim the area between. You receive 100 claim blocks every hour and can buy more with `/buyclaimblocks (amount)`. Use `/claimdashboard` to manage your claims and `/claimlist` to view all your claims. Let me know if you need more help!"
[2025-08-29 22:29:03] [SUMMARY] Success | Input Tokens 1442 | Output Tokens: 96 | Response time: 1520.40ms

[2025-08-29 22:29:10] [INTERACTION] Platform: Discord | Channel: DMs | Sender: @kaludi (787338478722744342) | Requester: none
[2025-08-29 22:29:10] [QUESTION] "How can I claim land?"
[2025-08-29 22:29:11] [EMBEDDING] Chunks found: 5 | Time spent: 444.78ms
[2025-08-29 22:29:12] [RESPONSE] "Hi Kaludi! To claim land, use the golden shovel from the `/kit claim` kit. Left-click the first block of your desired area, then right-click the opposite corner to claim all blocks in between. You get 100 claim blocks every hour, or you can buy more with `/buyclaimblocks [amount]`. For further help, feel free to ask a staff member or use `/guide` for more details!"
[2025-08-29 22:29:12] [SUMMARY] Success | Input Tokens 1327 | Output Tokens: 87 | Response time: 1091.16ms

[2025-08-29 22:45:26] [INIT_EMBEDDING] Loading 2 files.
[2025-08-29 22:45:26] [INIT_EMBEDDING] Stored cache state matches current state, skipping ingestion.

[2025-08-29 22:45:35] [INTERACTION] Platform: Minecraft | Type: Public | Player: Kaludii | UUID: df1319b5-5e8e-43fb-b804-0ee6542c6080
[2025-08-29 22:45:35] [QUESTION] "How can i claim land?"
[2025-08-29 22:45:35] [EMBEDDING] Chunks found: 5 | Time spent: 619.70ms
[2025-08-29 22:45:36] [RESPONSE] "Use the golden shovel from /kit claim claim, click two opposite corners to select area; you receive 100 claim blocks each hour."
[2025-08-29 22:45:36] [SUMMARY] Success | Input Tokens 1583 | Output Tokens: 217 | Response time: 966.78ms

[2025-08-29 22:56:21] [INIT_EMBEDDING] Loading 2 files.
[2025-08-29 22:56:21] [INIT_EMBEDDING] Stored cache state matches current state, skipping ingestion.

[2025-08-29 22:56:28] [INTERACTION] Platform: Minecraft | Type: Public | Player: Kaludii | UUID: df1319b5-5e8e-43fb-b804-0ee6542c6080
[2025-08-29 22:56:28] [QUESTION] "How can I claim land?"
[2025-08-29 22:56:29] [EMBEDDING] Chunks found: 5 | Time spent: 509.09ms
[2025-08-29 22:56:30] [RESPONSE] "Use the golden shovel from /kit claim claim, click two opposite corners to select area; you receive 100 claim blocks each hour."
[2025-08-29 22:56:30] [SUMMARY] Success | Input Tokens 1566 | Output Tokens: 28 | Response time: 1678.81ms

[2025-08-29 22:56:45] [INTERACTION] Platform: Minecraft | Type: Public | Player: Kaludii | UUID: df1319b5-5e8e-43fb-b804-0ee6542c6080
[2025-08-29 22:56:45] [QUESTION] "How can I sell items?"
[2025-08-29 22:56:45] [EMBEDDING] Chunks found: 5 | Time spent: 366.41ms
[2025-08-29 22:56:46] [RESPONSE] "You can sell items using commands like /sellgui, /sell inventory, or create a chest shop for selling items."
[2025-08-29 22:56:46] [SUMMARY] Success | Input Tokens 1326 | Output Tokens: 25 | Response time: 871.42ms

[2025-08-29 22:56:55] [INTERACTION] Platform: Minecraft | Type: Public | Player: Kaludii | UUID: df1319b5-5e8e-43fb-b804-0ee6542c6080
[2025-08-29 22:56:55] [QUESTION] "How can I go home?"
[2025-08-29 22:56:55] [EMBEDDING] Chunks found: 5 | Time spent: 270.45ms
[2025-08-29 22:56:55] [RESPONSE] "Use the command `/home [home_name]` to teleport to your saved home."
[2025-08-29 22:56:56] [SUMMARY] Success | Input Tokens 1472 | Output Tokens: 18 | Response time: 618.74ms

[2025-08-29 22:58:16] [INIT_EMBEDDING] Loading 2 files.
[2025-08-29 22:58:27] [EMBEDDING_INGESTION] Successfully ingested in 10.751s
[2025-08-29 22:58:27] [EMBEDDING_CACHE] Successfully saved embedding cache.

[2025-08-29 22:58:44] [INTERACTION] Platform: Minecraft | Type: Public | Player: Kaludii | UUID: df1319b5-5e8e-43fb-b804-0ee6542c6080
[2025-08-29 22:58:44] [QUESTION] "How can I create a chest shop?"
[2025-08-29 22:58:44] [EMBEDDING] Chunks found: 5 | Time spent: 590.18ms
[2025-08-29 22:58:46] [RESPONSE] "To create a chest shop, left-click on a chest and use `/chestshop create <price> <item>`. Then add items to the chest."
[2025-08-29 22:58:46] [SUMMARY] Success | Input Tokens 1537 | Output Tokens: 33 | Response time: 1353.18ms

Log Entry Types

The logging system captures different types of events with specific prefixes:

Initialization Events

  • [INIT_EMBEDDING]: Records when the embedding system initializes and loads document files.

  • [EMBEDDING_INGESTION]: Logs when documents are processed and new embeddings are created.

  • [EMBEDDING_CACHE]: Records when embedding cache is saved or loaded.

Interaction Events

  • [INTERACTION]: Captures metadata about each user interaction including:

    • Platform: Minecraft or Discord.

    • Type: Public, Private Ask, Private Chat (Minecraft) or Channel/DMs (Discord).

    • User Details: Player name and UUID (Minecraft) or username and ID (Discord).

    • Channel: Discord channel name (if applicable).

    • Requester: Who requested the response (for Discord "Ask AI" app).

Processing Events

  • [QUESTION]: The exact question or message sent by the user

  • [EMBEDDING]: Records embedding search results (chunks found and time spent)

  • [RESPONSE]: The AI's generated response

  • [SUMMARY]: Interaction summary (success status, tokens used, response time)

Configuration

Logging can be configured through the logging section in the config.yml file:

logging:
  # Enable or disable comprehensive logging of interactions
  enabled: true
  # Log ignored messages (helpful for setup but can spam logs)
  log_ignored_messages: false
  # Enable logging for Minecraft interactions
  log_minecraft: true
  # Enable logging for Discord interactions
  log_discord: true

Configuration Options:

  • enabled: Set to false to disable all logging (false by default).

  • log_ignored_messages: When enabled, logs messages that the AI chose not to respond to. This is useful during initial setup to understand why certain messages aren't being answered, but should be disabled in production to avoid log spam.

  • log_minecraft: Controls whether Minecraft chat interactions are logged.

  • log_discord: Controls whether Discord interactions are logged.

Log Analytics Dashboard

The ServerAssistantAI Log Analyzer is a web-based analytics dashboard that processes your log files to provide detailed insights into AI usage patterns and user interactions.

ServerAssistantAI Log Analyzer Interface

Features:

Three Analysis Views:

  • Overview: Statistics, platform distribution, top users, and question categories.

  • Interactions: Detailed table with customizable columns showing all logged interactions.

  • Analytics: Common questions, hourly activity, and performance metrics.

Key Capabilities:

  • Filter by date or platform (Minecraft/Discord).

  • Export data to CSV format.

  • Drag-and-drop file upload.

  • Support for multiple log files.

  • Real-time processing in your browser.

Usage:

  1. Upload log files from your logs/ directory.

  2. Navigate between Overview, Interactions, and Analytics tabs.

  3. Apply filters and export data as needed.

Privacy:

All processing happens locally in your browser, and no data is sent to external servers.

Logs are only created when logging is enabled and at least one interaction has occurred. If you don't see a logs/ directory, check that logging is enabled in your config.yml file.

Last updated

Was this helpful?