# 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](https://triton.pharos.ai/pharos-triton/apex-logging-basics#id-01hswfnenxm0yhrnat382sq96g).

{% hint style="info" %}
This class is used by [TritonBuilder](https://triton.pharos.ai/pharos-triton/methods-reference/apex-methods-reference/tritonbuilder) 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](https://triton.pharos.ai/pharos-triton/methods-reference/apex-methods-reference/tritonbuilder).
{% 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](https://triton.pharos.ai/pharos-triton/apex-logging-basics#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](https://triton.pharos.ai/pharos-triton/apex-logging-basics#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](https://triton.pharos.ai/pharos-triton/apex-logging-basics#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](https://triton.pharos.ai/pharos-triton/apex-logging-basics#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](https://triton.pharos.ai/pharos-triton/methods-reference/apex-methods-reference).
