# Java Logs patterns

**URL:** https://discuss.elastic.co/t/java-logs-patterns/102996
**Category:** Logstash
**Created:** [October 6, 2017, 11:20am UTC](https://discuss.elastic.co/t/java-logs-patterns/102996 "2017-10-06T11:20:22Z")
**Posts on this page:** 8
**Page:** 1

<div class="post-metadata">

### Author: ![mbvelo](https://avatars.discourse-cdn.com/v4/letter/m/59ef9b/32.png) [@mbvelo](https://discuss.elastic.co/u/mbvelo)
#### Post date: [October 6, 2017, 11:20am UTC](https://discuss.elastic.co/t/java-logs-patterns/102996/1 "2017-10-06T11:20:23Z")

</div>

please advice - is this format correct to review structured java log?

input {  
beats {  
port =\>5044  
}  
}

output {  
elasticsearch {  
hosts =\> "localhost:9200"  
manage\_template =\> false  
index =\> ["NUMBER:thread", "message", "%{TIMESTAMP\_ISO8601:logdate} %{LOGLEVEL:loglevel} (?.\*)"]  
document\_type =\> "%{[@metadata][type]}"  
}  
}

---

<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: [October 6, 2017, 11:27am UTC](https://discuss.elastic.co/t/java-logs-patterns/102996/2 "2017-10-06T11:27:39Z")

</div>

No. You've somehow conflated the grok filter and the elasticsearch output. For now I suggest you leave the `index` option alone entirely and that you add a grok filter. Your match expression doesn't look completely unreasonable (depending on what the log looks like; there's no standard format for Java application logs).

---

<div class="post-metadata">

### Author: ![mbvelo](https://avatars.discourse-cdn.com/v4/letter/m/59ef9b/32.png) [@mbvelo](https://discuss.elastic.co/u/mbvelo)
#### Post date: [October 6, 2017, 11:43am UTC](https://discuss.elastic.co/t/java-logs-patterns/102996/3 "2017-10-06T11:43:35Z")

</div>

Thanks  
please assist with this one , please bare with me still a newbie in ELK  
**I am trying to get - pattern : Thread\>\>Message\>\>LogLevel**

input{  
beats{  
port=\>5044  
type=\>"\*.log"  
codec=\>  
multiline{  
charset=\>"ISO-8859-1"  
pattern=\>"^%{TIMESTAMP\_ISO8601}"  
max\_lines=\>1000  
negate=\>true  
what=\>"previous"  
}  
}  
}filter{  
mutate{  
gsub=\>["message","\r",""]  
}grok{  
patterns\_dir=\>"./patterns"  
match =\> { message =\> ["%{TIMESTAMP\_ISO8601:timestamp}","%{LOGLEVEL1:loglevel}","%{SKYEXCEPTION\_TYPE:exception}"]}  
}date{  
match=\>["timestamp","yyyy-MM-dd HH:mm:ss,SSS"]  
remove\_field=\>["timestamp"]  
}  
}output{  
elasticsearch{  
hosts=\>"localhos:9200"  
}  
}

---

<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: [October 6, 2017, 12:29pm UTC](https://discuss.elastic.co/t/java-logs-patterns/102996/4 "2017-10-06T12:29:01Z")

</div>

> I am trying to get - pattern : Thread\>\>Message\>\>LogLevel

I don't know what you mean by this. It would be easier to help if we knew what your messages look like.

General comments:

- Perform multiline processing on the Beats side. Don't do it in Logstash.
- The hostname in the elasticsearch `hosts` option is misspellt.
- You're listing three different grok expressions in your grok filter. Don't do that; write a single grok expression that captures everything you want.
- To avoid surprises use an absolute path to the pattern file in the grok filter.

---

<div class="post-metadata">

### Author: ![mbvelo](https://avatars.discourse-cdn.com/v4/letter/m/59ef9b/32.png) [@mbvelo](https://discuss.elastic.co/u/mbvelo)
#### Post date: [October 6, 2017, 12:42pm UTC](https://discuss.elastic.co/t/java-logs-patterns/102996/5 "2017-10-06T12:42:59Z")

</div>

I am trying to get - pattern : Thread\>\>Message\>\>LogLevel  
i want my kibana to display / visualize my logs in this fashion - Thread.message.loglevel.date

---

<div class="post-metadata">

### Author: ![mbvelo](https://avatars.discourse-cdn.com/v4/letter/m/59ef9b/32.png) [@mbvelo](https://discuss.elastic.co/u/mbvelo)
#### Post date: [October 6, 2017, 12:59pm UTC](https://discuss.elastic.co/t/java-logs-patterns/102996/6 "2017-10-06T12:59:00Z")

</div>

can you send me default configs and beats configs

1. logstash.conf
2. logstash.yml

---

<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: [October 6, 2017, 1:16pm UTC](https://discuss.elastic.co/t/java-logs-patterns/102996/7 "2017-10-06T13:16:40Z")

</div>

> I am trying to get - pattern : Thread\>\>Message\>\>LogLevel

As I said, I don't understand what you mean by this. Instead of describing what you want to do please use concrete examples. What does a log message look like? Which fields do you want in Kibana?

---

<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: [November 3, 2017, 1:16pm UTC](https://discuss.elastic.co/t/java-logs-patterns/102996/8 "2017-11-03T13:16:41Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
