Lewati ke konten utama

Logs

Buffer paket/event log level rendah per client. Ini yang di-tail halaman Logs aplikasi desktop — setiap paket TCP (incoming + outgoing), perubahan state framework bot, anti-AFK tick, dan output print() skrip kamu kalau bot lagi di-bind.

Logger adalah wrapper tipis dari ConsoleHandle yang SAMA kayak [Console] — :add() di sini muncul di pane Console dashboard juga, dan sebaliknya. Bedanya cuma di shape entries-nya: Logger.entries itu array string flat (gak ada metadata timestamp / type), sedangkan Console.entries bawa row lengkap.

local client = getClient()
local logs = client:logger() -- atau `getLogs()` buat client yang di-bind di skrip aktif

Constructors

getLogs()

FieldType
Signature() → Logger
ReturnsLogger — view string flat di atas console shared runtime
Asyncno

Buffer backing-nya sama kayak getConsole(), tapi field entries berupa list string mentah (tanpa wrapper timestamp / type).

client:logger()

FieldType
Signature(self: Client) → Logger
ReturnsLogger — buffer yang sama yang dibaca getLogs()
Asyncno

Fields

logs.entries

FieldType
SignatureLogger.entries: {string}
Returns{string} — list 1-indexed string pesan saja

Snapshot pas akses — gak update live. Re-read tiap kali butuh view fresh.

Methods

logs:add(msg)

FieldType
Signature(self: Logger, msg: string) → ()
Returnsnothing
Asyncno

Push satu entry tagged "info". Berguna buat tagging momen penting di tengah stream paket biar forensik gampang nanti.

logs:add("--- mulai run auto-mine ---")
client:warp("MINEWORLD")
sleep(2000)
logs:add("--- nyampe, mulai loop ---")

Di halaman Logs aplikasi desktop, dua line add() itu muncul di-interleave sama paket TCP yang jalan di antaranya — handy buat forensik "kapan tepatnya off the rails".

logs:clear()

FieldType
Signature(self: Logger) → ()
Returnsnothing
Asyncno

Hapus semua isi buffer console shared. Pane Console juga ke-wipe.

Iterasi snapshot

--!strict
local client = getClient()
if not client then return end

local logs = client:logger()
for i, line in ipairs(logs.entries) do
if line:find("KErr") then
print(("entry %d: server error → %s"):format(i, line))
end
end

Kapan pake apa

ButuhPakai
Print ke konsol skrip-kuprint(...)
Capture error dari skripConsole entries[i].type == "error"
Lihat setiap paket TCPlogs.entries
Tag momen buat debug nantilogs:add("...")
Stream log ke backendlogs.entries di-poll + http.post(...)