DirkScripts
Docs
Logger
βΉοΈ Server Module
#lib.logger
Sends structured log entries to an external logging service. Logs are buffered and flushed every 500ms via HTTP.
lualib.logger(source, event, message, ...)
| Parameter | Type | Required | Description |
|---|---|---|---|
| source | number | yes | Player source (use 0 for system logs) |
| event | string | yes | Event or service name |
| message | string | yes | Log message (colour codes are auto-stripped) |
| ... | string | no | Additional tags |
#Supported Services
Configure with the dirk:logger convar.
| Service | Key Convar | Endpoint | Notes |
|---|---|---|---|
datadog | datadog:key | https://http-intake.logs.{site}/api/v2/logs | datadog:site defaults to datadoghq.com |
fivemanage | fivemanage:key | https://api.fivemanage.com/api/logs/batch | β |
loki | loki:user, loki:password or loki:key, loki:endpoint | {endpoint}/loki/api/v1/push | Optional loki:tenant for multi-tenancy |
#Convars
| Convar | Description | Default |
|---|---|---|
dirk:logger | Service name (datadog, fivemanage, loki) | datadog |
dirk:logger:hostname | Hostname override | sv_projectName or fxserver |
#Example
lua-- Log a player action lib.logger(source, 'inventory', 'Picked up weapon_pistol') -- System log with extra tags lib.logger(0, 'startup', 'Server initialised', 'version:1.2.0')
