# LogBuilder

## pharos.LogBuilder

This is a global managed class provided with the Pharos managed package. These methods aren't accessible for editing locally. For an overview of the builder class please refer to [this section](/pharos-triton/apex-logging-basics.md#id-01hswfnenxm0yhrnat382sq96g).

{% hint style="info" %}
This class is used by [TritonBuilder](/pharos-triton/methods-reference/apex-methods-reference/tritonbuilder.md) that provides an abstraction layer over this managed class. The documentation here is provided mostly just for reference. For all practical purposes you can skip this class go straight to [TritonBuilder](/pharos-triton/methods-reference/apex-methods-reference/tritonbuilder.md).
{% endhint %}

### getInstance()

```apex
global static LogBuilder getInstance()
```

This is a static method to create a new instance of the builder. Note that this is the only option to instantiate the builder class as the constructor is private.

### type(String value)

```apex
global LogBuilder type(String value)
```

This method sets the type value on the log record (see [Type enum](/pharos-triton/apex-logging-basics.md#h_01ht0g8b2jq5s214ya8nw8x9za)).

### summary(String value)

```apex
global LogBuilder summary(String value)
```

This method sets the summary value on the log record. Summary will be truncated automatically to 255 characters as necessary.

### details(String value)

```apex
global LogBuilder details(String value)
```

This method sets the details value on the log record.

### category(String value)

```apex
global LogBuilder category(String value)
```

This method sets the category value on the log record (see [Category enum](/pharos-triton/apex-logging-basics.md#h_01hsyh27q519ca5zkjbdp2javx)).

### stackTrace(String value)

```apex
global LogBuilder stackTrace(String value)
```

This method sets the stack trace on the log record. Pharos will use this value to render a graphical stack trace for Apex code. For everything else, a text representation of the stack trace will be provided.

### area(String value)

```apex
global LogBuilder area(String value)
```

This method sets the area (functional area) value on the log record (see [Area enum](/pharos-triton/apex-logging-basics.md#h_01hsyh0nmy90sa21hdbktchavj)).

### postProcessing(String settingsJSON)

```apex
global LogBuilder postProcessing(String settingsJSON)
```

This method sets the post processing controls that signal to Pharos the types of post processing to perform on a log record. Use the[ *PostProcessingControlsBuilder*](#tritontypes.postprocessingcontrolsbuilder) to build the settings and serialize them to JSON.

### transactionId(String value)

```apex
global LogBuilder transactionId(String value)
```

This method sets the transaction Id on a log record.

### createIssue()

```apex
global LogBuilder createIssue()
```

Calling this method will signal to Pharos to create an Issue from this log record. By default, no Issue records are created for custom logs.

### attribute(String field, Object value)

<pre class="language-apex"><code class="lang-apex"><strong>global LogBuilder attribute(String field, Object value)
</strong></code></pre>

This methods set any field on a log record to the specified value. Please refer to [this section](/pharos-triton/apex-logging-basics.md#h_01hsz0123tet1q4avq0hjzy4wp) for more details.

### build()

```apex
global pharos__Log__c build()
```

This methods will return the final log record. Call this method once you've set all the attributes. The output of this method can be provided to the [logging methods](/pharos-triton/methods-reference/apex-methods-reference.md).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://triton.pharos.ai/pharos-triton/methods-reference/apex-methods-reference/logbuilder.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
