This is an automated email from the ASF dual-hosted git repository.
mattyb149 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nifi.git
The following commit(s) were added to refs/heads/master by this push:
new a2f5212 NIFI-7490 - Add optional raw field to Syslog readers
a2f5212 is described below
commit a2f521297f32baeb27479b87386353f2f9c24632
Author: Pierre Villard <[email protected]>
AuthorDate: Wed May 27 10:49:28 2020 +0200
NIFI-7490 - Add optional raw field to Syslog readers
review
Signed-off-by: Matthew Burgess <[email protected]>
This closes #4299
---
.../org/apache/nifi/syslog/Syslog5424Reader.java | 23 ++++++++++++++++++--
.../apache/nifi/syslog/Syslog5424RecordReader.java | 8 ++++++-
.../java/org/apache/nifi/syslog/SyslogReader.java | 24 ++++++++++++++++++---
.../org/apache/nifi/syslog/SyslogRecordReader.java | 8 ++++++-
.../nifi/syslog/TestSyslog5424RecordReader.java | 20 ++++++++++-------
.../apache/nifi/syslog/TestSyslogRecordReader.java | 25 +++++++++++-----------
6 files changed, 81 insertions(+), 27 deletions(-)
diff --git
a/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/main/java/org/apache/nifi/syslog/Syslog5424Reader.java
b/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/main/java/org/apache/nifi/syslog/Syslog5424Reader.java
index 89061eb..0f988e9 100644
---
a/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/main/java/org/apache/nifi/syslog/Syslog5424Reader.java
+++
b/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/main/java/org/apache/nifi/syslog/Syslog5424Reader.java
@@ -59,9 +59,13 @@ import java.util.Set;
@CapabilityDescription("Provides a mechanism for reading RFC 5424 compliant
Syslog data, such as log files, and structuring the data" +
" so that it can be processed.")
public class Syslog5424Reader extends SchemaRegistryService implements
RecordReaderFactory {
+
public static final String RFC_5424_SCHEMA_NAME = "default-5424-schema";
static final AllowableValue RFC_5424_SCHEMA = new
AllowableValue(RFC_5424_SCHEMA_NAME, "Use RFC 5424 Schema",
"The schema will be the default schema per RFC 5424.");
+
+ static final String RAW_MESSAGE_NAME = "_raw";
+
public static final PropertyDescriptor CHARSET = new
PropertyDescriptor.Builder()
.name("Character Set")
.description("Specifies which character set of the Syslog
messages")
@@ -69,14 +73,24 @@ public class Syslog5424Reader extends SchemaRegistryService
implements RecordRea
.defaultValue("UTF-8")
.addValidator(StandardValidators.CHARACTER_SET_VALIDATOR)
.build();
+ public static final PropertyDescriptor ADD_RAW = new
PropertyDescriptor.Builder()
+ .displayName("Raw message")
+ .name("syslog-5424-reader-raw-message")
+ .description("If true, the record will have a " + RAW_MESSAGE_NAME
+ " field containing the raw message")
+ .required(true)
+ .defaultValue("false")
+ .allowableValues("true", "false")
+ .build();
private volatile StrictSyslog5424Parser parser;
+ private volatile static boolean includeRaw;
private volatile RecordSchema recordSchema;
@Override
protected List<PropertyDescriptor> getSupportedPropertyDescriptors() {
- final List<PropertyDescriptor> properties = new ArrayList<>(1);
+ final List<PropertyDescriptor> properties = new ArrayList<>(2);
properties.add(CHARSET);
+ properties.add(ADD_RAW);
return properties;
}
@@ -84,6 +98,7 @@ public class Syslog5424Reader extends SchemaRegistryService
implements RecordRea
@OnEnabled
public void onEnabled(final ConfigurationContext context) {
final String charsetName = context.getProperty(CHARSET).getValue();
+ includeRaw = context.getProperty(ADD_RAW).asBoolean();
parser = new StrictSyslog5424Parser(Charset.forName(charsetName),
NilHandlingPolicy.NULL, NifiStructuredDataPolicy.MAP_OF_MAPS, new
SimpleKeyProvider());
recordSchema = createRecordSchema();
}
@@ -120,6 +135,10 @@ public class Syslog5424Reader extends
SchemaRegistryService implements RecordRea
fields.add(new RecordField(Syslog5424Attributes.STRUCTURED_BASE.key(),
RecordFieldType.MAP.getMapDataType(RecordFieldType.MAP.getMapDataType(RecordFieldType.STRING.getDataType()))));
+ if(includeRaw) {
+ fields.add(new RecordField(RAW_MESSAGE_NAME,
RecordFieldType.STRING.getDataType(), true));
+ }
+
SchemaIdentifier schemaIdentifier = new
StandardSchemaIdentifier.Builder().name(RFC_5424_SCHEMA_NAME).build();
final RecordSchema schema = new
SimpleRecordSchema(fields,schemaIdentifier);
return schema;
@@ -145,6 +164,6 @@ public class Syslog5424Reader extends SchemaRegistryService
implements RecordRea
@Override
public RecordReader createRecordReader(final Map<String, String>
variables, final InputStream in, final long inputLength, final ComponentLog
logger) throws IOException, SchemaNotFoundException {
final RecordSchema schema = getSchema(variables, in, null);
- return new Syslog5424RecordReader(parser, in, schema);
+ return new Syslog5424RecordReader(parser, includeRaw, in, schema);
}
}
diff --git
a/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/main/java/org/apache/nifi/syslog/Syslog5424RecordReader.java
b/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/main/java/org/apache/nifi/syslog/Syslog5424RecordReader.java
index 5c5d085..520c95f 100644
---
a/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/main/java/org/apache/nifi/syslog/Syslog5424RecordReader.java
+++
b/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/main/java/org/apache/nifi/syslog/Syslog5424RecordReader.java
@@ -42,11 +42,13 @@ public class Syslog5424RecordReader implements RecordReader
{
private final BufferedReader reader;
private RecordSchema schema;
private final StrictSyslog5424Parser parser;
+ private final boolean includeRaw;
- public Syslog5424RecordReader(StrictSyslog5424Parser parser, InputStream
in, RecordSchema schema){
+ public Syslog5424RecordReader(StrictSyslog5424Parser parser, boolean
includeRaw, InputStream in, RecordSchema schema){
this.reader = new BufferedReader(new InputStreamReader(in));
this.schema = schema;
this.parser = parser;
+ this.includeRaw = includeRaw;
}
@Override
@@ -83,6 +85,10 @@ public class Syslog5424RecordReader implements RecordReader {
Map<String,Object> modifiedMap = new HashMap<>(event.getFieldMap());
modifiedMap.put(SyslogAttributes.TIMESTAMP.key(),convertTimeStamp((String)event.getFieldMap().get(SyslogAttributes.TIMESTAMP.key())));
+ if(includeRaw) {
+ modifiedMap.put(Syslog5424Reader.RAW_MESSAGE_NAME, line);
+ }
+
return new MapRecord(schema,modifiedMap);
}
diff --git
a/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/main/java/org/apache/nifi/syslog/SyslogReader.java
b/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/main/java/org/apache/nifi/syslog/SyslogReader.java
index 2dd2b03..b702d10 100644
---
a/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/main/java/org/apache/nifi/syslog/SyslogReader.java
+++
b/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/main/java/org/apache/nifi/syslog/SyslogReader.java
@@ -57,9 +57,13 @@ import java.util.Set;
"Note: Be mindfull that RFC3164 is informational and a wide range of
different implementations are present in" +
" the wild.")
public class SyslogReader extends SchemaRegistryService implements
RecordReaderFactory {
+
public static final String GENERIC_SYSLOG_SCHEMA_NAME =
"default-syslog-schema";
static final AllowableValue GENERIC_SYSLOG_SCHEMA = new
AllowableValue(GENERIC_SYSLOG_SCHEMA_NAME, "Use Generic Syslog Schema",
"The schema will be the default Syslog schema.");
+
+ static final String RAW_MESSAGE_NAME = "_raw";
+
public static final PropertyDescriptor CHARSET = new
PropertyDescriptor.Builder()
.name("Character Set")
.description("Specifies which character set of the Syslog
messages")
@@ -67,14 +71,24 @@ public class SyslogReader extends SchemaRegistryService
implements RecordReaderF
.defaultValue("UTF-8")
.addValidator(StandardValidators.CHARACTER_SET_VALIDATOR)
.build();
+ public static final PropertyDescriptor ADD_RAW = new
PropertyDescriptor.Builder()
+ .displayName("Raw message")
+ .name("syslog-5424-reader-raw-message")
+ .description("If true, the record will have a " + RAW_MESSAGE_NAME
+ " field containing the raw message")
+ .required(true)
+ .defaultValue("false")
+ .allowableValues("true", "false")
+ .build();
private volatile SyslogParser parser;
+ private volatile static boolean includeRaw;
private volatile RecordSchema recordSchema;
@Override
protected List<PropertyDescriptor> getSupportedPropertyDescriptors() {
- final List<PropertyDescriptor> properties = new ArrayList<>(1);
+ final List<PropertyDescriptor> properties = new ArrayList<>(2);
properties.add(CHARSET);
+ properties.add(ADD_RAW);
return properties;
}
@@ -83,6 +97,7 @@ public class SyslogReader extends SchemaRegistryService
implements RecordReaderF
public void onEnabled(final ConfigurationContext context) {
final String charsetName = context.getProperty(CHARSET).getValue();
parser = new SyslogParser(Charset.forName(charsetName));
+ includeRaw = context.getProperty(ADD_RAW).asBoolean();
recordSchema = createRecordSchema();
}
@@ -113,6 +128,10 @@ public class SyslogReader extends SchemaRegistryService
implements RecordReaderF
fields.add(new RecordField(SyslogAttributes.HOSTNAME.key(),
RecordFieldType.STRING.getDataType(), true));
fields.add(new RecordField(SyslogAttributes.BODY.key(),
RecordFieldType.STRING.getDataType(), true));
+ if(includeRaw) {
+ fields.add(new RecordField(RAW_MESSAGE_NAME,
RecordFieldType.STRING.getDataType(), true));
+ }
+
SchemaIdentifier schemaIdentifier = new
StandardSchemaIdentifier.Builder().name(GENERIC_SYSLOG_SCHEMA_NAME).build();
final RecordSchema schema = new
SimpleRecordSchema(fields,schemaIdentifier);
return schema;
@@ -122,7 +141,6 @@ public class SyslogReader extends SchemaRegistryService
implements RecordReaderF
return new SchemaAccessStrategy() {
private final Set<SchemaField> schemaFields =
EnumSet.noneOf(SchemaField.class);
-
@Override
public RecordSchema getSchema(Map<String, String> variables,
InputStream contentStream, RecordSchema readSchema) {
return recordSchema;
@@ -138,6 +156,6 @@ public class SyslogReader extends SchemaRegistryService
implements RecordReaderF
@Override
public RecordReader createRecordReader(final Map<String, String>
variables, final InputStream in, final long inputLength, final ComponentLog
logger) throws IOException, SchemaNotFoundException {
final RecordSchema schema = getSchema(variables, in, null);
- return new SyslogRecordReader(parser, in, schema);
+ return new SyslogRecordReader(parser, includeRaw, in, schema);
}
}
diff --git
a/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/main/java/org/apache/nifi/syslog/SyslogRecordReader.java
b/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/main/java/org/apache/nifi/syslog/SyslogRecordReader.java
index 144a573..43ceab9 100644
---
a/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/main/java/org/apache/nifi/syslog/SyslogRecordReader.java
+++
b/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/main/java/org/apache/nifi/syslog/SyslogRecordReader.java
@@ -39,11 +39,13 @@ public class SyslogRecordReader implements RecordReader {
private final BufferedReader reader;
private RecordSchema schema;
private final SyslogParser parser;
+ private final boolean includeRaw;
- public SyslogRecordReader(SyslogParser parser, InputStream in,
RecordSchema schema) {
+ public SyslogRecordReader(SyslogParser parser, boolean includeRaw,
InputStream in, RecordSchema schema) {
this.reader = new BufferedReader(new InputStreamReader(in));
this.schema = schema;
this.parser = parser;
+ this.includeRaw = includeRaw;
}
@Override
@@ -80,6 +82,10 @@ public class SyslogRecordReader implements RecordReader {
syslogMap.put(SyslogAttributes.HOSTNAME.key(), event.getHostName());
syslogMap.put(SyslogAttributes.BODY.key(), event.getMsgBody());
+ if(includeRaw) {
+ syslogMap.put(Syslog5424Reader.RAW_MESSAGE_NAME, line);
+ }
+
return new MapRecord(schema, syslogMap);
}
diff --git
a/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/test/java/org/apache/nifi/syslog/TestSyslog5424RecordReader.java
b/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/test/java/org/apache/nifi/syslog/TestSyslog5424RecordReader.java
index 4a9c918..5e0c4ff 100644
---
a/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/test/java/org/apache/nifi/syslog/TestSyslog5424RecordReader.java
+++
b/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/test/java/org/apache/nifi/syslog/TestSyslog5424RecordReader.java
@@ -62,6 +62,10 @@ public class TestSyslog5424RecordReader {
private static final String expectedEventID1 = "1011";
private static final String expectedEventID2 = "2022";
+ private static final String expectedRawMessage = "<14>1
2014-06-20T09:14:07+00:00 loggregator d0602076-b14a-4c55-852a-981e7afeed38 DEA
MSG-01 "
+ + "[exampleSDID@32473 iut=\"3\" eventSource=\"Application\"
eventID=\"1011\"][exampleSDID@32480 iut=\"4\" eventSource=\"Other Application\"
"
+ + "eventID=\"2022\"] Removing instance";
+
@Test
@SuppressWarnings("unchecked")
public void testParseSingleLine() throws IOException,
MalformedRecordException {
@@ -70,7 +74,7 @@ public class TestSyslog5424RecordReader {
NilHandlingPolicy.NULL,
NifiStructuredDataPolicy.MAP_OF_MAPS,
new SimpleKeyProvider());
- final Syslog5424RecordReader deserializer = new
Syslog5424RecordReader(parser, fis, Syslog5424Reader.createRecordSchema());
+ final Syslog5424RecordReader deserializer = new
Syslog5424RecordReader(parser, true, fis,
Syslog5424Reader.createRecordSchema());
final Record record = deserializer.nextRecord();
assertNotNull(record.getValues());
@@ -83,8 +87,9 @@ public class TestSyslog5424RecordReader {
Assert.assertEquals(expectedSeverity,
record.getAsString(SyslogAttributes.SEVERITY.key()));
Assert.assertEquals(expectedFacility,
record.getAsString(SyslogAttributes.FACILITY.key()));
Assert.assertEquals(expectedProcId,
record.getAsString(Syslog5424Attributes.PROCID.key()));
- Assert.assertEquals(expectedTimestamp,
(Timestamp)record.getValue(SyslogAttributes.TIMESTAMP.key()));
+ Assert.assertEquals(expectedTimestamp,
record.getValue(SyslogAttributes.TIMESTAMP.key()));
Assert.assertEquals(expectedMessageId,
record.getAsString(Syslog5424Attributes.MESSAGEID.key()));
+ Assert.assertEquals(expectedRawMessage,
record.getAsString(Syslog5424Reader.RAW_MESSAGE_NAME));
Assert.assertNotNull(record.getValue(Syslog5424Attributes.STRUCTURED_BASE.key()));
Map<String,Object> structured =
(Map<String,Object>)record.getValue(Syslog5424Attributes.STRUCTURED_BASE.key());
@@ -121,7 +126,7 @@ public class TestSyslog5424RecordReader {
NilHandlingPolicy.NULL,
NifiStructuredDataPolicy.MAP_OF_MAPS,
new SimpleKeyProvider());
- final Syslog5424RecordReader deserializer = new
Syslog5424RecordReader(parser, fis, Syslog5424Reader.createRecordSchema());
+ final Syslog5424RecordReader deserializer = new
Syslog5424RecordReader(parser, false, fis,
Syslog5424Reader.createRecordSchema());
final Record record = deserializer.nextRecord();
assertNotNull(record.getValues());
@@ -134,8 +139,9 @@ public class TestSyslog5424RecordReader {
Assert.assertEquals(expectedSeverity,
record.getAsString(SyslogAttributes.SEVERITY.key()));
Assert.assertEquals(expectedFacility,
record.getAsString(SyslogAttributes.FACILITY.key()));
Assert.assertEquals(expectedProcId,
record.getAsString(Syslog5424Attributes.PROCID.key()));
- Assert.assertEquals(expectedTimestamp,
(Timestamp)record.getValue(SyslogAttributes.TIMESTAMP.key()));
+ Assert.assertEquals(expectedTimestamp,
record.getValue(SyslogAttributes.TIMESTAMP.key()));
Assert.assertNull(record.getAsString(Syslog5424Attributes.MESSAGEID.key()));
+
Assert.assertNull(record.getAsString(Syslog5424Reader.RAW_MESSAGE_NAME));
Assert.assertNotNull(record.getValue(Syslog5424Attributes.STRUCTURED_BASE.key()));
Map<String,Object> structured =
(Map<String,Object>)record.getValue(Syslog5424Attributes.STRUCTURED_BASE.key());
@@ -165,14 +171,13 @@ public class TestSyslog5424RecordReader {
}
@Test
- @SuppressWarnings("unchecked")
public void testParseMultipleLine() throws IOException,
MalformedRecordException {
try (final InputStream fis = new FileInputStream(new
File("src/test/resources/syslog/syslog5424/log_mix.txt"))) {
StrictSyslog5424Parser parser = new StrictSyslog5424Parser(CHARSET,
NilHandlingPolicy.NULL,
NifiStructuredDataPolicy.MAP_OF_MAPS,
new SimpleKeyProvider());
- final Syslog5424RecordReader deserializer = new
Syslog5424RecordReader(parser, fis, Syslog5424Reader.createRecordSchema());
+ final Syslog5424RecordReader deserializer = new
Syslog5424RecordReader(parser, false, fis,
Syslog5424Reader.createRecordSchema());
Record record = deserializer.nextRecord();
int count = 0;
@@ -187,14 +192,13 @@ public class TestSyslog5424RecordReader {
}
@Test
- @SuppressWarnings("unchecked")
public void testParseMultipleLineWithError() throws IOException,
MalformedRecordException {
try (final InputStream fis = new FileInputStream(new
File("src/test/resources/syslog/syslog5424/log_mix_in_error.txt"))) {
StrictSyslog5424Parser parser = new StrictSyslog5424Parser(CHARSET,
NilHandlingPolicy.NULL,
NifiStructuredDataPolicy.MAP_OF_MAPS,
new SimpleKeyProvider());
- final Syslog5424RecordReader deserializer = new
Syslog5424RecordReader(parser, fis, Syslog5424Reader.createRecordSchema());
+ final Syslog5424RecordReader deserializer = new
Syslog5424RecordReader(parser, false, fis,
Syslog5424Reader.createRecordSchema());
Record record = deserializer.nextRecord();
int count = 0;
diff --git
a/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/test/java/org/apache/nifi/syslog/TestSyslogRecordReader.java
b/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/test/java/org/apache/nifi/syslog/TestSyslogRecordReader.java
index fbef467..4687b2a 100644
---
a/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/test/java/org/apache/nifi/syslog/TestSyslogRecordReader.java
+++
b/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/test/java/org/apache/nifi/syslog/TestSyslogRecordReader.java
@@ -66,12 +66,15 @@ public class TestSyslogRecordReader {
private static final String expectedFacility = "1";
private static final String expectedSeverity = "6";
+ private static final String expectedRawMessage = "<14>1
2014-06-20T09:14:07+00:00 loggregator d0602076-b14a-4c55-852a-981e7afeed38 DEA
MSG-01 "
+ + "[exampleSDID@32473 iut=\"3\" eventSource=\"Application\"
eventID=\"1011\"][exampleSDID@32480 iut=\"4\" eventSource=\"Other Application\"
"
+ + "eventID=\"2022\"] Removing instance";
+
@Test
- @SuppressWarnings("unchecked")
public void testParseSingleLine() throws IOException,
MalformedRecordException {
try (final InputStream fis = new
ByteArrayInputStream(VALID_MESSAGE_RFC3164_0.getBytes(CHARSET))){
SyslogParser parser = new SyslogParser(CHARSET);
- final SyslogRecordReader deserializer = new
SyslogRecordReader(parser, fis, SyslogReader.createRecordSchema());
+ final SyslogRecordReader deserializer = new
SyslogRecordReader(parser, false, fis, SyslogReader.createRecordSchema());
final Record record = deserializer.nextRecord();
assertNotNull(record.getValues());
@@ -82,17 +85,17 @@ public class TestSyslogRecordReader {
Assert.assertEquals(SEV,
record.getAsString(SyslogAttributes.SEVERITY.key()));
Assert.assertEquals(FAC,
record.getAsString(SyslogAttributes.FACILITY.key()));
Assert.assertEquals(TIME,
record.getAsString(SyslogAttributes.TIMESTAMP.key()));
+
Assert.assertNull(record.getAsString(Syslog5424Reader.RAW_MESSAGE_NAME));
assertNull(deserializer.nextRecord());
deserializer.close();
}
}
@Test
- @SuppressWarnings("unchecked")
public void testParseSingleLineIPV6() throws IOException,
MalformedRecordException {
try (final InputStream fis = new
ByteArrayInputStream(VALID_MESSAGE_RFC3164_1.getBytes(CHARSET))){
SyslogParser parser = new SyslogParser(CHARSET);
- final SyslogRecordReader deserializer = new
SyslogRecordReader(parser, fis, SyslogReader.createRecordSchema());
+ final SyslogRecordReader deserializer = new
SyslogRecordReader(parser, false, fis, SyslogReader.createRecordSchema());
final Record record = deserializer.nextRecord();
assertNotNull(record.getValues());
@@ -109,11 +112,10 @@ public class TestSyslogRecordReader {
}
@Test
- @SuppressWarnings("unchecked")
public void testParseSingleLineIPV4() throws IOException,
MalformedRecordException {
try (final InputStream fis = new
ByteArrayInputStream(VALID_MESSAGE_RFC3164_2.getBytes(CHARSET))){
SyslogParser parser = new SyslogParser(CHARSET);
- final SyslogRecordReader deserializer = new
SyslogRecordReader(parser, fis, SyslogReader.createRecordSchema());
+ final SyslogRecordReader deserializer = new
SyslogRecordReader(parser, false, fis, SyslogReader.createRecordSchema());
final Record record = deserializer.nextRecord();
assertNotNull(record.getValues());
@@ -130,11 +132,10 @@ public class TestSyslogRecordReader {
}
@Test
- @SuppressWarnings("unchecked")
public void testParseMultipleLine() throws IOException,
MalformedRecordException {
try (final InputStream fis = new
ByteArrayInputStream((VALID_MESSAGE_RFC3164_0 + VALID_MESSAGE_RFC3164_1 +
VALID_MESSAGE_RFC3164_2).getBytes(CHARSET))) {
SyslogParser parser = new SyslogParser(CHARSET);
- final SyslogRecordReader deserializer = new
SyslogRecordReader(parser, fis, SyslogReader.createRecordSchema());
+ final SyslogRecordReader deserializer = new
SyslogRecordReader(parser, false, fis, SyslogReader.createRecordSchema());
Record record = deserializer.nextRecord();
int count = 0;
@@ -147,12 +148,12 @@ public class TestSyslogRecordReader {
deserializer.close();
}
}
+
@Test
- @SuppressWarnings("unchecked")
public void testParseMultipleLineWithError() throws IOException,
MalformedRecordException {
try (final InputStream fis = new
ByteArrayInputStream((VALID_MESSAGE_RFC3164_0 + "\n" + VALID_MESSAGE_RFC3164_1
+ VALID_MESSAGE_RFC3164_2).getBytes(CHARSET))) {
SyslogParser parser = new SyslogParser(CHARSET);
- final SyslogRecordReader deserializer = new
SyslogRecordReader(parser, fis, SyslogReader.createRecordSchema());
+ final SyslogRecordReader deserializer = new
SyslogRecordReader(parser, false, fis, SyslogReader.createRecordSchema());
Record record = deserializer.nextRecord();
int count = 0;
@@ -173,11 +174,10 @@ public class TestSyslogRecordReader {
}
@Test
- @SuppressWarnings("unchecked")
public void testParseSingleLine5424() throws IOException,
MalformedRecordException {
try (final InputStream fis = new FileInputStream(new
File("src/test/resources/syslog/syslog5424/log_all.txt"))) {
SyslogParser parser = new SyslogParser(CHARSET);
- final SyslogRecordReader deserializer = new
SyslogRecordReader(parser, fis, SyslogReader.createRecordSchema());
+ final SyslogRecordReader deserializer = new
SyslogRecordReader(parser, true, fis, SyslogReader.createRecordSchema());
final Record record = deserializer.nextRecord();
assertNotNull(record.getValues());
@@ -189,6 +189,7 @@ public class TestSyslogRecordReader {
Assert.assertEquals(expectedSeverity,
record.getAsString(SyslogAttributes.SEVERITY.key()));
Assert.assertEquals(expectedFacility,
record.getAsString(SyslogAttributes.FACILITY.key()));
Assert.assertEquals(expectedTimestamp,
record.getAsString(SyslogAttributes.TIMESTAMP.key()));
+ Assert.assertEquals(expectedRawMessage,
record.getAsString(Syslog5424Reader.RAW_MESSAGE_NAME));
assertNull(deserializer.nextRecord());
deserializer.close();