<commit_before>---
title: Logs Proxy Configurations (Beta)
tags: [getting started, logs]
sidebar: doc_sidebar
permalink: logging_proxy_configurations.html
summary: Learn about the Tanzu Observability proxy configurations and preprocessor rules.
---

Configure the Wavefront proxy to receive your log data and customize the data you send using preprocessor rules.

## Configure the Proxy

This section gives details on proxy configuration properties used for Tanzu Observability logs.

### Configure the properties

Follow these steps: 

1. [Install the Wavefront Proxy](proxies_installing.html).
    If you have already installed the Wavefront proxy, make sure it is version 11 or later. 
1. Open the [`wavefront.conf` file](proxies_configuring.html#proxy-file-paths):
    1. Uncomment the `pushListnerPorts` and set it to a preferred port. It is set to 2878 by default to receive both HTTP and TCP data. For details on the proxy configurations, see [Advanced Proxy Configuration](Advanced Proxy Configuration).
    1. Optionally, uncomment or add the other configurations listed below.
    1. Save the file.
1. [Start the proxy](proxies_installing.html#start-and-stop-a-proxy).

### Proxy Configurations for Logs

See the Wavefront proxy configuration used for logs:

<table style="width: 100%;">
<thead>
<tr>
<th width="27%">Property</th>
<th width="43%">Purpose</th>
<th width="30%">Format /Example </th>
</tr>
</thead>
<tbody>
<tr>
<a name="customTimestampTags"></a>
<td>customTimestampTags</td>
<td markdown="log tag"> A comma-separated list of log tag keys that needs to be treated as the timestamp if the `timestamp` or `log_timestamp` tag is missing.
<br/> Default: None.
<br/> Version: Since 11.0</td>
<td> Comma-separated list of tags. Can be a single tag.
<br/>Example:sent_time</td>
</tr>
<tr>
<a name="customMessageTags"></a>
<td>customMessageTags</td>
<td markdown="span">A comma-separated list of log tag keys that needs to be treated as the message if the `message` or `text` tag is missing.
<br/> Default: None.
<br/> Version: Since 11.0</td>
<td> Comma-separated list of tags. Can be a single tag.
<br/> Example:debug_log</td>
</tr>
<tr>
<a name="pushFlushMaxLogs"></a>
<td>pushFlushMaxLogs</td>
<td markdown="span">Maximum number of logs in a single flush.
<br/> Default: 50.
<br/> Version: Since 11.0</td>
<td> Number from 0-50.</td>
</tr>
<tr>
<a name="pushRateLimitLogs"></a>
<td>pushRateLimitLogs</td>
<td markdown="span">Limit the outgoing logs rate at the proxy.
<br/> Default: NO_RATE_LIMIT.
<br/> Version: Since 11.0</td>
<td> Positive integer.
<br/>Example: 10000</td>
</tr>
<tr>
<a name="pushFlushIntervalLogs"></a>
<td>pushRateLimitLogs</td>
<td markdown="span">Milliseconds between sending batches of logs.
<br/> Default: 1000.
<br/> Version: Since 11.0</td>
<td> Number of milliseconds.
<br/>Example: 2000</td>
</tr>
<tr>
<a name="flushThreadsLogs"></a>
<td>flushThreadsLogs</td>
<td markdown="span"> Number of threads that flush data to the server. This setting is per push listener port. 
<br/>If you set a large value, the number of logs that are included in a batch will be small, and it will be expensive because you need to connect to the server several times.
<br/> Default: 4
<br/> Version: Since 11.0</td>
<td> Positive integer.
<br/>Example: 5</td>
</tr>
<tr>
<a name="pushMemoryBufferLimitLogs"></a>
<td>pushMemoryBufferLimitLogs</td>
<td markdown="span"> Maximum number of logs that can stay in the proxy memory buffers before spooling to disk. Defaults to 16 times `pushFlushMaxLogs`. The minimum value you can set is the value you defined for `pushFlushMaxLogs`. If the value is lower than the default value, it reduces memory usage but will force the proxy to spool to disk more frequently when the logs data points arrive at the proxy in short bursts.
<br/> Default: 16 times the value you assigned <code>pushFlushMaxLogs</code>
<br/> Version: Since 11.0</td>
<td> Positive integer.
<br/>Example: 17</td>
</tr>
<tr><commit_msg>content for pre-processor rules<commit_after>---
title: Logs Proxy Configurations (Beta)
tags: [getting started, logs]
sidebar: doc_sidebar
permalink: logging_proxy_configurations.html
summary: Learn about the Tanzu Observability proxy configurations and preprocessor rules.
---

Configure the Wavefront proxy to receive your log data and customize the data you send using preprocessor rules.

## Configure the Proxy

This section gives details on proxy configuration properties used for Tanzu Observability logs.

### Configure the properties

Follow these steps: 

1. [Install the Wavefront Proxy](proxies_installing.html).
    If you have already installed the Wavefront proxy, make sure it is version 11 or later. 
1. Open the [`wavefront.conf` file](proxies_configuring.html#proxy-file-paths):
    1. Uncomment the `pushListnerPorts` and set it to a preferred port. It is set to 2878 by default to receive both HTTP and TCP data. For details on the proxy configurations, see [Advanced Proxy Configuration](Advanced Proxy Configuration).
    1. Optionally, uncomment or add the other configurations listed below.
    1. Save the file.
1. [Start the proxy](proxies_installing.html#start-and-stop-a-proxy).

### Proxy Configurations for Logs

See the Wavefront proxy configuration used for logs:

<table style="width: 100%;">
<thead>
<tr>
<th width="27%">Property</th>
<th width="43%">Purpose</th>
<th width="30%">Format /Example </th>
</tr>
</thead>
<tbody>
<tr>
<a name="customTimestampTags"></a>
<td>customTimestampTags</td>
<td markdown="log tag"> A comma-separated list of log tag keys that needs to be treated as the timestamp if the `timestamp` or `log_timestamp` tag is missing.
<br/> Default: None.
<br/> Version: Since 11.0</td>
<td> Comma-separated list of tags. Can be a single tag.
<br/>Example:sent_time</td>
</tr>
<tr>
<a name="customMessageTags"></a>
<td>customMessageTags</td>
<td markdown="span">A comma-separated list of log tag keys that needs to be treated as the message if the `message` or `text` tag is missing.
<br/> Default: None.
<br/> Version: Since 11.0</td>
<td> Comma-separated list of tags. Can be a single tag.
<br/> Example:debug_log</td>
</tr>
<tr>
<a name="pushFlushMaxLogs"></a>
<td>pushFlushMaxLogs</td>
<td markdown="span">Maximum number of logs in a single flush.
<br/> Default: 50.
<br/> Version: Since 11.0</td>
<td> Number from 0-50.</td>
</tr>
<tr>
<a name="pushRateLimitLogs"></a>
<td>pushRateLimitLogs</td>
<td markdown="span">Limit the outgoing logs rate at the proxy.
<br/> Default: NO_RATE_LIMIT.
<br/> Version: Since 11.0</td>
<td> Positive integer.
<br/>Example: 10000</td>
</tr>
<tr>
<a name="pushFlushIntervalLogs"></a>
<td>pushRateLimitLogs</td>
<td markdown="span">Milliseconds between sending batches of logs.
<br/> Default: 1000.
<br/> Version: Since 11.0</td>
<td> Number of milliseconds.
<br/>Example: 2000</td>
</tr>
<tr>
<a name="flushThreadsLogs"></a>
<td>flushThreadsLogs</td>
<td markdown="span"> Number of threads that flush data to the server. This setting is per push listener port. 
<br/>If you set a large value, the number of logs that are included in a batch will be small, and it will be expensive because you need to connect to the server several times.
<br/> Default: 4
<br/> Version: Since 11.0</td>
<td> Positive integer.
<br/>Example: 5</td>
</tr>
<tr>
<a name="pushMemoryBufferLimitLogs"></a>
<td>pushMemoryBufferLimitLogs</td>
<td markdown="span"> Maximum number of logs that can stay in the proxy memory buffers before spooling to disk. Defaults to 16 times `pushFlushMaxLogs`. The minimum value you can set is the value you defined for `pushFlushMaxLogs`. If the value is lower than the default value, it reduces memory usage but will force the proxy to spool to disk more frequently when the logs data points arrive at the proxy in short bursts.
<br/> Default: 16 times the value you assigned <code>pushFlushMaxLogs</code>
<br/> Version: Since 11.0</td>
<td> Positive integer.
<br/>Example: 1000</td>
</tr>
<tr>
{'fraction_non_alphanumeric': 0.1233375156838143, 'fraction_numerical': 0.017314930991217063, 'mean_word_length': 4.856722997795738, 'pattern_counts': {'":': 0, '<': 215, '<?xml version=': 0, '>': 215, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4542635', 'n_tokens_mistral': 2643, 'n_tokens_neox': 2484, 'n_words': 1026}