LogService¶
A service that allows you to read outputted text.
Description¶
LogService allows you to log structured log entries and read outputted text.
For logging scoped to a named, hierarchical path, use
LogService.GetLogger() to obtain a Logger.
Template Syntax¶
Methods that accept a context table support {key} template placeholders in
the message string. To include a literal brace character in the output, use
double braces: {{ produces a literal { and }} produces a literal }.
local LogService = game:GetService("LogService")
LogService:Info("Value = {{result}}: {val}", {val = 42})
-- Output: "Value = {result}: 42"
Context Values¶
The context table accepts any value type. Non-serializable values are
automatically converted to strings in the stored context:
- Instances are stored as their full path (e.g.,
"Workspace.MyModel.Part") - Functions are stored as
"<function>" - Other non-primitive types are stored using their
tostring()representation
Mixed tables (tables with both string and numeric keys) and pure arrays are
accepted. Numeric keys are converted to string keys (e.g., index 1 becomes
key "1"). If a numeric key collides with an existing string key, the
explicit string key takes precedence.
local LogService = game:GetService("LogService")
-- Instance values are converted to their full path
LogService:Info("Touched {part}", {part = workspace.MyPart})
-- Context stores: {part = "Workspace.MyPart"}
-- Mixed tables are accepted; numeric keys become string keys
LogService:Info("Player {name}", {name = "Alice", 1, 2, 3})
-- Context stores: {name = "Alice", ["1"] = 1, ["2"] = 2, ["3"] = 3}
Warning¶
This service might have unexpected or unreliable behavior and content might be truncated. Don't rely on contents of events and messages emitted by this service for any important game logic.
Inheritance¶
Object → Instance → LogService
Nova inheritance: Instance → LogService
Methods¶
ExecuteScript Supported Function
No description available.
RobloxScriptSecurityGetLogHistory Supported Function Returns a table of tables, each with the message string, message type, and timestamp of a message that the client displays in the Output window.
Returns a table of tables, each with the message string, message type, and timestamp of a message that the client displays in the Output window. Each inner table contains the following keys:
message(string) -- the rendered message text.messageType(MessageType) -- the log level (MessageOutput, MessageInfo, MessageWarning, or MessageError).timestamp(number) -- the time the message was emitted, in seconds.context(dictionary) -- the structured key-value pairs if the message was emitted via a structured logging method; absent otherwise.
The history is capped at a maximum of 512 entries by default. Calling LogService.ClearOutput() empties the history, so subsequent calls return only entries logged after the clear.
RequestServerOutput Supported Function
No description available.
RobloxScriptSecurityEvents¶
MessageOut Supported Event Fires when the client outputs text.
Fires when the client outputs text.
Fires whenever a message is logged through the engine's output system,
including calls to Global.LuaGlobals.print(),
Global.RobloxGlobals.warn(), and the structured logging methods on
LogService. The message parameter contains the fully rendered
text (template placeholders already replaced). The context parameter
carries the structured key-value pairs when the message was emitted via a
method that accepts a context table; otherwise it is nil.
local LogService = game:GetService("LogService")
LogService.MessageOut:Connect(function(message, messageType, context)
if messageType == Enum.MessageType.MessageError then
print("Error:", message)
end
if context then
-- Access structured data from structured logging calls
for key, value in context do
print(key, "=", value)
end
end
end)
Roblox reference signature
ServerMessageOut Supported Event
No description available.
Roblox reference signature
RobloxScriptSecurityInherited members¶
Inherited from Instance: 8 properties, 36 methods, 7 events. They are documented on the base class page.
15 modern Roblox member(s) are not implemented yet — expand to inspect
Members declared by Roblox's LogService class (or by a missing base class) that Nova does not expose. Use this list to scope a migration; the compatibility guide has the recommended workaround.
Methods¶
| Member | Signature | Status | Notes | Flags |
|---|---|---|---|---|
ClearOutput |
LogService:ClearOutput(): null |
Not yet | Clears Roblox Studio's Output window. | — |
Error |
LogService:Error(message: string, context: Dictionary = nil): null |
Not yet | Logs a message at the MessageType.MessageError level and throws a structured error with optional context. | CustomLuaState |
GetHttpResultHistory |
LogService:GetHttpResultHistory(): Array |
Not yet | — | RobloxScriptSecurity |
GetLogger |
LogService:GetLogger(name: string): Logger |
Not yet | Returns a top-level Logger with the given name, creating it if it does not already exist. | CustomLuaState |
GetLogHistoryAsync |
LogService:GetLogHistoryAsync(user: User): Array |
Not yet | — | Yields |
Info |
LogService:Info(message: string, context: Dictionary = nil): null |
Not yet | Logs a message at the MessageType.MessageInfo level with optional structured context. | CustomLuaState |
Log |
LogService:Log(messageType: MessageType, message: string, context: Dictionary = nil): null |
Not yet | Logs a message at the specified level with optional structured context. | CustomLuaState |
Output |
LogService:Output(message: string, context: Dictionary = nil): null |
Not yet | Logs a message at the MessageType.MessageOutput level with optional structured context. | CustomLuaState |
RequestHttpResultApproved |
LogService:RequestHttpResultApproved(): null |
Not yet | — | RobloxScriptSecurity |
RequestServerHttpResult |
LogService:RequestServerHttpResult(): null |
Not yet | — | RobloxScriptSecurity |
Warn |
LogService:Warn(message: string, context: Dictionary = nil): null |
Not yet | Logs a message at the MessageType.MessageWarning level with optional structured context. | CustomLuaState |
Events¶
| Member | Signature | Status | Notes | Flags |
|---|---|---|---|---|
HttpResultOut |
HttpResultOut(httpResult: Dictionary) |
Not yet | — | RobloxScriptSecurity |
OnHttpResultApproved |
OnHttpResultApproved(isApproved: bool) |
Not yet | — | RobloxScriptSecurity |
ServerContextOut |
ServerContextOut(contextData: Dictionary) |
Not yet | — | RobloxScriptSecurity |
ServerHttpResultOut |
ServerHttpResultOut(httpResult: Dictionary) |
Not yet | — | RobloxScriptSecurity |
Roblox reference: LogService
Generated from Nova's API dump and Roblox creator-docs. Nova-only members come from the engine's reflection metadata.