# Send logs using logback socket appender to logstach tcp server

**URL:** https://discuss.elastic.co/t/send-logs-using-logback-socket-appender-to-logstach-tcp-server/89273
**Category:** Logstash
**Created:** [June 13, 2017, 10:17pm UTC](https://discuss.elastic.co/t/send-logs-using-logback-socket-appender-to-logstach-tcp-server/89273 "2017-06-13T22:17:35Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![msq747](https://avatars.discourse-cdn.com/v4/letter/m/bc79bd/32.png) [@msq747](https://discuss.elastic.co/u/msq747)
#### Post date: [June 13, 2017, 10:17pm UTC](https://discuss.elastic.co/t/send-logs-using-logback-socket-appender-to-logstach-tcp-server/89273/1 "2017-06-13T22:17:35Z")

</div>

Hi all,

I am trying to send java application logs using a socket appender to a tcp logstash server. The configuration of the server is as follows:

input {  
tcp {  
port =\> 21000  
mode =\> "server"  
}  
}  
output {  
stdout {}  
}

The message I receive on logstash is as follows:

[WARN][logstash.codecs.line] Received an event that has a different character encoding than you configured. {:text=\>"\xAC\xED\u0000\u0005", :expected\_charset=\>"UTF-8"}  
127.0.0.1 \xAC\xED\u0000\u0005

I read somewhere online that this message might be an SSL handshake rather than the actual message. I am using ch.qos.logback.classic.net.SocketAppender to send the log message. Is there a way I can disable SSL on the logstash TCP server so that I can get the actual message?

Thanks.

---

<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: [June 14, 2017, 5:42am UTC](https://discuss.elastic.co/t/send-logs-using-logback-socket-appender-to-logstach-tcp-server/89273/2 "2017-06-14T05:42:55Z")

</div>

The problem is that SocketAppender sends a serialized Java object rather than plain text. You can use a log4j input to deserialize it but I recommend you don't and instead dig up an appender that sends the log data as plain text and that you use it with a JSON formatter.

---

<div class="post-metadata">

### Author: ![msq747](https://avatars.discourse-cdn.com/v4/letter/m/bc79bd/32.png) [@msq747](https://discuss.elastic.co/u/msq747)
#### Post date: [June 14, 2017, 10:46pm UTC](https://discuss.elastic.co/t/send-logs-using-logback-socket-appender-to-logstach-tcp-server/89273/3 "2017-06-14T22:46:34Z")

</div>

Magnus,

Thank you for the quick response. I am currently testing both the above methods. Found logstash-logback-encoder library and added modified my logstash server conf as below:

input {

tcp {  
port =\> 21000  
mode =\> "server"  
type =\> log4j  
codec =\> plain {  
charset =\> "ISO-8859-1"  
}  
}  
}

output {  
stdout {}  
}

I do see messages in UTF-8 plain text format but only a subset of them. That is if I send 5-10 requests to logstash I observe only 2-3 messages on the server side. For some reason messages are being dropped and I am investigating.

---

<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 12, 2017, 10:46pm UTC](https://discuss.elastic.co/t/send-logs-using-logback-socket-appender-to-logstach-tcp-server/89273/4 "2017-07-12T22:46:41Z")

</div>

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