# Reading environmental values in logstash config file in input/output

**URL:** <https://discuss.elastic.co/t/reading-environmental-values-in-logstash-config-file-in-input-output/27983>\
**Category:** Logstash\
**Created:** [August 24, 2015, 11:31pm UTC](https://discuss.elastic.co/t/reading-environmental-values-in-logstash-config-file-in-input-output/27983 "2015-08-24T23:31:52Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![biswajit86](https://avatars.discourse-cdn.com/v4/letter/b/f17d59/32.png) [@biswajit86](https://discuss.elastic.co/u/biswajit86)\
**Post date:** [August 24, 2015, 11:31pm UTC](https://discuss.elastic.co/t/reading-environmental-values-in-logstash-config-file-in-input-output/27983/1 "2015-08-24T23:31:52Z")

</div>

Is there a way to read environmental values in logstash config file . I want to pass in an env value to write test cases for my logstash configs  
For ex I want to do the following in my logstash config file

```
input {
 if [$ENV_VALUE] = test {
    stdin{}
}else{
    Default config
}
}
filter {..}
output
{
 if [$ENV_VALUE] = test {
  stdout { codec => rubydebug }
}else{
   Default config
}

}
```

---

<div class="post-metadata">

**Author:** ![magnusbaeck](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/magnusbaeck/32/44943_2.png) [@magnusbaeck](https://discuss.elastic.co/u/magnusbaeck)\
**Post date:** [August 25, 2015, 6:21am UTC](https://discuss.elastic.co/t/reading-environmental-values-in-logstash-config-file-in-input-output/27983/2 "2015-08-25T06:21:29Z")

</div>

I was going suggest using an [environment filter](https://www.elastic.co/guide/en/logstash/current/plugins-filters-environment.html) here but since you want to wrap _inputs_ with conditionals that's probably not going to fly. I suggest you extract your inputs and outputs into separate files and choose which ones to include when you invoke Logstash.

---

<div class="post-metadata">

**Author:** ![Joe\_Lawson](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/joe_lawson/32/3390_2.png) [@Joe\_Lawson](https://discuss.elastic.co/u/Joe_Lawson)\
**Post date:** [August 25, 2015, 12:19pm UTC](https://discuss.elastic.co/t/reading-environmental-values-in-logstash-config-file-in-input-output/27983/3 "2015-08-25T12:19:13Z")

</div>

I know this isn't exactly what your looking for but check out this  
suggestion:

> <https://github.com/elastic/logstash/issues/1910#issuecomment-59634201>

---

<div class="post-metadata">

**Author:** ![biswajit86](https://avatars.discourse-cdn.com/v4/letter/b/f17d59/32.png) [@biswajit86](https://discuss.elastic.co/u/biswajit86)\
**Post date:** [August 26, 2015, 12:08am UTC](https://discuss.elastic.co/t/reading-environmental-values-in-logstash-config-file-in-input-output/27983/4 "2015-08-26T00:08:26Z")

</div>

@Joe_Lawson , thanks for the link.

I think i will rather use logstash with a dynamic string as an input instead of a file name to achieve my functionality , which is @magnusbaeck suggestion

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 6, 2017, 5:30am UTC](https://discuss.elastic.co/t/reading-environmental-values-in-logstash-config-file-in-input-output/27983/5 "2017-07-06T05:30:56Z")

</div>


