Custom logs & event system
Flitt automatically captures logs from popular systems and also lets you send your own events from resources/addons.
⚡
1. Automatic logs
Flitt automatically captures:
FiveM
qb-log, 7DiscordLog
GMod
bLogs/GAS, Helix
🎮
2. Custom logs (FiveM)
Place this in your resource on startup:
VVBS.Logs.RegisterCategory("myresource")
VVBS.Logs.RegisterModule("myresource", "actions")Then, when you send a log:
VVBS.Logs.Send("myresource", "actions", {
action = "open_menu",
player = "Sterwim",
player_id = 12,
details = "Clicked on settings"
})🛠️
3. Custom logs (GMod)
Place this in your addon on startup:
VVBS.Logs.RegisterCategory("myaddon")
VVBS.Logs.RegisterModule("myaddon", "actions")Then, when you send a log:
VVBS.Logs.Send("myaddon", "actions", {
action = "ban_player",
admin = "AdminName",
player = "PlayerName",
reason = "RDM"
})🧱
4. Minecraft logs (exports)
From a Minecraft plugin (Java), use the Flitt export API:
// Get the Flitt core instance
Plugin flitt = getServer().getPluginManager().getPlugin("Flitt");
if (flitt instanceof fr.flitt.bukkit.FlittBukkitPlugin) {
fr.flitt.common.FlittPlugin core = ((fr.flitt.bukkit.FlittBukkitPlugin) flitt).getPlugin();
// Register a category + module on startup (category / sub-category)
core.getLogManager().log("custom", "myplugin", "register", "Category registered", "", "");
// Log an event inside that category/module (example: player died)
core.getLogManager().log("custom", "myplugin", "death", player.getName() + " died", player.getUniqueId().toString(), player.getName());
}With Skript (via Skript-Reflect):
# Get the Flitt core instance
set {_vvPlugin} to plugin "Flitt"
set {_core} to call method "getPlugin" of {_vvPlugin}
set {_logManager} to call method "getLogManager" of {_core}
# Register category / sub-category on script load
call method "log" of {_logManager} with arguments "custom", "skript", "register", "Category registered", "", ""
# Log an event inside that category/module (example: player died)
call method "log" of {_logManager} with arguments "custom", "skript", "death", "%name of player% died", "%uuid of player%", "%name of player%"✅
5. Best practices
- •Register categories/modules only once on startup
- •Use clear names (e.g., economy, actions, staff)
- •Avoid sending sensitive data
💡
Need more examples?
Check the public API or examples in official resources.