Skip to content

Commit 37f33b4

Browse files
author
Ruslan Gainutdinov
committed
Create instance of Syslog object, instead of using one per protocol. Use
hash constructed from proto + host + port + format for instance identification. Fixes #5
1 parent 92cd825 commit 37f33b4

File tree

2 files changed

+18
-6
lines changed

2 files changed

+18
-6
lines changed

src/main/java/com/wizecore/graylog2/plugin/PlainSender.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ public void send(SyslogIF syslog, int level, Message msg) {
5353

5454
out.append(msg.getMessage());
5555
String str = out.toString();
56-
log.info("Sending plain message: " + level + ", " + str);
56+
// log.info("Sending plain message: " + level + ", " + str);
5757
syslog.log(level, str);
5858
}
5959

src/main/java/com/wizecore/graylog2/plugin/SyslogOutput.java

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,10 @@
1414
import org.graylog2.plugin.outputs.MessageOutput;
1515
import org.graylog2.plugin.streams.Stream;
1616
import org.graylog2.syslog4j.Syslog;
17+
import org.graylog2.syslog4j.SyslogConfigIF;
1718
import org.graylog2.syslog4j.SyslogIF;
19+
import org.graylog2.syslog4j.impl.net.tcp.TCPNetSyslogConfig;
20+
import org.graylog2.syslog4j.impl.net.udp.UDPNetSyslogConfig;
1821

1922
import com.google.inject.assistedinject.Assisted;
2023

@@ -72,11 +75,20 @@ public SyslogOutput(@Assisted Stream stream, @Assisted Configuration conf) {
7275
}
7376

7477
log.info("Creating syslog output " + protocol + "://" + host + ":" + port + ", format " + format);
75-
syslog = Syslog.getInstance(protocol);
76-
syslog.getConfig().setHost(host);
77-
syslog.getConfig().setPort(port);
78-
syslog.getConfig().setMaxMessageLength(4096);
79-
syslog.getConfig().setTruncateMessage(true);
78+
SyslogConfigIF config = null;
79+
if (protocol.toLowerCase().equals("udp")) {
80+
config = new UDPNetSyslogConfig();
81+
} else
82+
if (protocol.toLowerCase().equals("tcp")) {
83+
config = new TCPNetSyslogConfig();
84+
}
85+
config.setHost(host);
86+
config.setPort(port);
87+
config.setMaxMessageLength(4096);
88+
config.setTruncateMessage(true);
89+
90+
String hash = protocol + "_" + host + "_" + port + "_" + format;
91+
syslog = Syslog.createInstance(hash, config);
8092

8193
sender = createSender(format);
8294
if (sender instanceof StructuredSender) {

0 commit comments

Comments
 (0)