# How to Add the File Name as a Field in Logstash?


If you're dealing with log entries from multiple files and want to dynamically add the file path to each log event to identify its source, you can achieve this using Logstash. Here's how:

You can use the [Dissect filter](https://www.elastic.co/guide/en/logstash/current/plugins-filters-dissect.html#plugins-filters-dissect) plugin, as follows:

```text
filter {
  dissect {
    mapping => { "path" => "%{directory}/%{filename}.log" }
  }
}
```

This configuration will dynamically add a `path` field to the filename.

Consequently, the log event will be augmented to include a field like this:

```json
{
  ...
  "log": {
    "file": {
      "path": "/var/log/logify/app.log"
    }
  }
  ...
}
```

Alternatively, you can employ the grok filter:

```text
filter {
  grok {
    match => ["path","%{GREEDYDATA}/%{GREEDYDATA:filename}\.log"]
  }
}
```

This approach achieves the same outcome by extracting the filename from the path.

To further explore Logstash, refer to our [comprehensive guide](https://betterstack.com/community/guides/logging/logstash-explained/).

