# LogService

Roblox Engine API class from Roblox Studio 0.744.0.7441077 (version-7aaa6838d36c4448).

- Inherits from, nearest first: [Instance](https://rapi.sleaze.dev/classes/Instance.md), [Object](https://rapi.sleaze.dev/classes/Object.md)
- Tags: Not creatable, Service
- Memory category: Instances
- HTML page: https://rapi.sleaze.dev/classes/LogService/
- Roblox documentation: https://create.roblox.com/docs/reference/engine/classes/LogService

A service that allows you to read outputted text.

## Methods

### ClearOutput

```luau
LogService:ClearOutput()
```

- Tags: Capabilities: Logging

Clears Roblox Studio's **Output** window.

### Error

```luau
LogService:Error(message: string, context: { [string]: any }? = nil)
```

- Tags: Custom Lua state, Capabilities: Logging

Logs a message at the `MessageType.MessageError` level and throws a structured error with optional context.

Parameters:

- `message`: The message string. Supports `{key}` template placeholders when a context table is provided.
- `context`: An optional dictionary of key-value pairs. When provided, `{key}` placeholders in the message are replaced with the corresponding values.

### ExecuteScript

```luau
LogService:ExecuteScript(source: string)
```

- Tags: Roblox script security, Capabilities: Logging

### GetHttpResultHistory

```luau
LogService:GetHttpResultHistory(): { any }
```

- Tags: Roblox script security, Capabilities: Logging

### GetLogger

```luau
LogService:GetLogger(name: string): Logger
```

- Tags: Custom Lua state, Capabilities: Logging

### GetLogHistory

```luau
LogService:GetLogHistory(): { any }
```

- Tags: Capabilities: Logging

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: An array of tables, each containing `message` (string), `messageType` (`MessageType`), `timestamp` (number, in seconds), and optionally `context` (dictionary) for entries logged with structured context.

### GetLogHistoryAsync

```luau
LogService:GetLogHistoryAsync(user: User): { any }
```

- Tags: Yields, Capabilities: Logging

### Info

```luau
LogService:Info(message: string, context: { [string]: any }? = nil)
```

- Tags: Custom Lua state, Capabilities: Logging

Logs a message at the `MessageType.MessageInfo` level with optional structured context.

Parameters:

- `message`: The message string. Supports `{key}` template placeholders when a context table is provided.
- `context`: An optional dictionary of key-value pairs. When provided, `{key}` placeholders in the message are replaced with the corresponding values.

### Log

```luau
LogService:Log(messageType: Enum.MessageType, message: string, context: { [string]: any }? = nil)
```

- Tags: Custom Lua state, Capabilities: Logging

Logs a message at the specified level with optional structured context.

Parameters:

- `messageType`: The `MessageType` specifying the log level.
- `message`: The message string. Supports `{key}` template placeholders when a context table is provided.
- `context`: An optional dictionary of key-value pairs. When provided, `{key}` placeholders in the message are replaced with the corresponding values.

### Output

```luau
LogService:Output(message: string, context: { [string]: any }? = nil)
```

- Tags: Custom Lua state, Capabilities: Logging

Logs a message at the `MessageType.MessageOutput` level with optional structured context.

Parameters:

- `message`: The message string. Supports `{key}` template placeholders when a context table is provided.
- `context`: An optional dictionary of key-value pairs. When provided, `{key}` placeholders in the message are replaced with the corresponding values.

### RequestHttpResultApproved

```luau
LogService:RequestHttpResultApproved()
```

- Tags: Roblox script security, Capabilities: Logging

### RequestServerHttpResult

```luau
LogService:RequestServerHttpResult()
```

- Tags: Roblox script security, Capabilities: Logging

### RequestServerOutput

```luau
LogService:RequestServerOutput()
```

- Tags: Roblox script security, Capabilities: Logging

### Warn

```luau
LogService:Warn(message: string, context: { [string]: any }? = nil)
```

- Tags: Custom Lua state, Capabilities: Logging

Logs a message at the `MessageType.MessageWarning` level with optional structured context.

Parameters:

- `message`: The message string. Supports `{key}` template placeholders when a context table is provided.
- `context`: An optional dictionary of key-value pairs. When provided, `{key}` placeholders in the message are replaced with the corresponding values.

## Events

### HttpResultOut

```luau
LogService.HttpResultOut: RBXScriptSignal<(httpResult: { [string]: any })>
```

- Tags: Roblox script security, Capabilities: Logging

### MessageOut

```luau
LogService.MessageOut: RBXScriptSignal<(message: string, messageType: Enum.MessageType, context: { [string]: any })>
```

- Tags: Capabilities: Logging

Fires when the client outputs text.

### OnHttpResultApproved

```luau
LogService.OnHttpResultApproved: RBXScriptSignal<(isApproved: boolean)>
```

- Tags: Roblox script security, Capabilities: Logging

### RequestHttpResultApprovedSignal

```luau
LogService.RequestHttpResultApprovedSignal: RBXScriptSignal<(requestingPlayer: Instance)>
```

- Tags: Hidden, Roblox engine security, Capabilities: Logging

### RequestScriptExecutionSignal

```luau
LogService.RequestScriptExecutionSignal: RBXScriptSignal<(requestingPlayer: Instance, source: string)>
```

- Tags: Hidden, Roblox engine security, Capabilities: Logging

### RequestServerHttpResultSignal

```luau
LogService.RequestServerHttpResultSignal: RBXScriptSignal<(requestingPlayer: Instance)>
```

- Tags: Hidden, Roblox engine security, Capabilities: Logging

### RequestServerOutputSignal

```luau
LogService.RequestServerOutputSignal: RBXScriptSignal<(requestingPlayer: Instance)>
```

- Tags: Hidden, Roblox engine security, Capabilities: Logging

### RequestSettingsChange

```luau
LogService.RequestSettingsChange: RBXScriptSignal<(requestingPlayer: Instance, expressivePrinting: boolean)>
```

- Tags: Hidden, Roblox engine security, Capabilities: Logging

### ServerContextOut

```luau
LogService.ServerContextOut: RBXScriptSignal<(contextData: { [string]: any })>
```

- Tags: Roblox script security, Capabilities: Logging

### ServerHttpResultOut

```luau
LogService.ServerHttpResultOut: RBXScriptSignal<(httpResult: { [string]: any })>
```

- Tags: Roblox script security, Capabilities: Logging

### ServerMessageOut

```luau
LogService.ServerMessageOut: RBXScriptSignal<(message: string, messageType: Enum.MessageType, timestamp: number)>
```

- Tags: Roblox script security, Capabilities: Logging

### ServerVariantMessageOut

```luau
LogService.ServerVariantMessageOut: RBXScriptSignal<(data: { [string]: any })>
```

- Tags: Hidden, Roblox engine security, Capabilities: Logging

## Inherited members

- From [Instance](https://rapi.sleaze.dev/classes/Instance.md): `Archivable`, `archivable`, `Attributes`, `AttributesReplicate`, `AttributesSerialize`, `HistoryId`, `Name`, `Parent`, `PredictionMode`, `PropertyStatusStudio`, `RobloxLocked`, `SerializedOverrides`, `SourceAssetId`, `Tags`, `UniqueId`, `numExpectedDirectChildren`, `DataCost`, `Capabilities`, `DefinesCapabilities`, `IsInSandbox`, `Sandboxed`, `AddTag`, `ClearAllChildren`, `Clone`, `Destroy`, `FindFirstAncestor`, `FindFirstAncestorOfClass`, `FindFirstAncestorWhichIsA`, `FindFirstChild`, `FindFirstChildOfClass`, `FindFirstChildWhichIsA`, `FindFirstDescendant`, `GetActor`, `GetAttribute`, `GetAttributeChangedSignal`, `GetAttributes`, `GetChildren`, `GetDebugId`, `GetDescendants`, `GetFullName`, `GetStyled`, `GetStyledPropertyChangedSignal`, `GetTags`, `HasTag`, `IsAncestorOf`, `IsDescendantOf`, `IsPropertyModified`, `QueryDescendants`, `RemoveTag`, `ResetPropertyToDefault`, `SetAttribute`, `WaitForChild`, `Remove`, `children`, `clone`, `destroy`, `findFirstChild`, `getChildren`, `isDescendantOf`, `remove`, `AncestryChanged`, `AttributeChanged`, `ChildAdded`, `ChildRemoved`, `DescendantAdded`, `DescendantRemoving`, `Destroying`, `StyledPropertiesChanged`, `childAdded`
- From [Object](https://rapi.sleaze.dev/classes/Object.md): `ClassName`, `className`, `GetPropertyChangedSignal`, `IsA`, `isA`, `Changed`
