> For the complete documentation index, see [llms.txt](https://docs.bindplane.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.bindplane.com/integrations/sources/wildfly.md).

# WildFly

The WildFly source collects logs from WildFly application servers by tailing their log files. It reads standalone server logs, and optionally domain server and domain controller logs, and parses the entries into structured records.

### Supported Telemetry

| Platform | Metrics | Logs | Traces |
| -------- | ------- | ---- | ------ |
| Linux    |         | ✓    |        |
| Windows  |         | ✓    |        |

### Prerequisites

WildFly must be writing its log files to disk, and the collector must run on a host where it can read those file paths (or the files must be shipped to that host). The configured paths must match where your WildFly installation actually writes logs.

By default WildFly writes the standalone server log to `WILDFLY_HOME/standalone/log/server.log`. In managed-domain mode, per-server logs are written under `WILDFLY_HOME/domain/servers/*/log/server.log` and host controller logs under `WILDFLY_HOME/domain/log/`. If your installation uses a non-default `WILDFLY_HOME` or a customized logging subsystem, adjust the file paths accordingly.

For details on WildFly logging, the logging subsystem, and log file locations, see the official [WildFly Admin Guide: Logging Configuration](https://docs.wildfly.org/35/Admin_Guide.html#Logging).

### Configuration

<figure><img src="/files/VM7rj5inQPibUIjw6kc6" alt="Bindplane docs - WildFly - image 1"><figcaption></figcaption></figure>

**Logs**

| Parameter                      | Type    | Required | Default                                        | Description                                                                                  |
| ------------------------------ | ------- | -------- | ---------------------------------------------- | -------------------------------------------------------------------------------------------- |
| Standalone Server File Path(s) | Strings | No       | `/opt/wildfly/standalone/log/server.log`       | File paths to tail for standalone server logs.                                               |
| Domain Server Logs             | Boolean | No       | `true`                                         | Enable to read domain server logs.                                                           |
| Domain Server File Path(s)     | Strings | No       | `/opt/wildfly/domain/servers/*/log/server.log` | File paths to tail for domain server logs. Shown when Domain Server Logs is enabled.         |
| Domain Controller Logs         | Boolean | No       | `true`                                         | Enable to read domain controller logs.                                                       |
| Domain Controller File Path(s) | Strings | No       | `/opt/wildfly/domain/log/*.log`                | File paths to tail for domain controller logs. Shown when Domain Controller Logs is enabled. |

**Advanced**

| Parameter | Type                     | Required | Default | Description                                               |
| --------- | ------------------------ | -------- | ------- | --------------------------------------------------------- |
| Start At  | Enum: `beginning`, `end` | No       | `end`   | Start reading logs from the beginning or end of the file. |
| Timezone  | Timezone                 | No       | `UTC`   | The timezone to use when parsing timestamps.              |
| Parse     | Boolean                  | No       | `true`  | Parses the log fields into structured data.               |

### Examples

#### Standalone server only

Collect logs from a single standalone WildFly server installed at the default location, disabling the domain log readers.

```yaml
- name: standalone_file_path
  value:
    - /opt/wildfly/standalone/log/server.log
- name: enable_domain_server
  value: false
- name: enable_domain_controller
  value: false
```

### Configuration Tips

* The default paths assume `WILDFLY_HOME` is `/opt/wildfly`. If you installed WildFly elsewhere, update each file path to match your installation.
* Leave **Parse** enabled to extract structured fields from each log line. Disable it only if your log format is customized and the parser cannot read it, in which case the raw line is preserved.
* Set **Start At** to `beginning` to backfill existing log content on first run, or leave it at `end` to collect only new entries.

### Troubleshooting

**Symptom:** No logs are collected. **Solution:** Confirm the configured file paths point to real files that WildFly is actively writing to. Verify the collector process has read permission on those paths and on their parent directories.

**Symptom:** Domain logs are missing even though domain mode is in use. **Solution:** Ensure **Domain Server Logs** and/or **Domain Controller Logs** are enabled, and that the glob paths match your domain layout (server names under `domain/servers/*/log/`).

**Symptom:** Timestamps are off by several hours. **Solution:** Set **Timezone** to the timezone WildFly uses when writing log timestamps, rather than leaving it at the default `UTC`.

### Standalone Source

```yaml
apiVersion: bindplane.observiq.com/v1
kind: Source
metadata:
  name: wildfly
spec:
  type: wildfly
  parameters:
    - name: standalone_file_path
      value:
        - /opt/wildfly/standalone/log/server.log
    - name: enable_domain_server
      value: true
    - name: domain_server_path
      value:
        - /opt/wildfly/domain/servers/*/log/server.log
    - name: enable_domain_controller
      value: true
    - name: domain_controller_path
      value:
        - /opt/wildfly/domain/log/*.log
    - name: start_at
      value: end
    - name: timezone
      value: UTC
    - name: parse
      value: true
```

### Related Resources

* [WildFly Admin Guide: Logging Configuration](https://docs.wildfly.org/35/Admin_Guide.html#Logging)
* [OpenTelemetry Filelog Receiver](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/receiver/filelogreceiver)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.bindplane.com/integrations/sources/wildfly.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
