Upgrade to Grok 0.1.5

This commit is contained in:
Maxime Chassagneux
2017-02-01 17:32:15 +01:00
parent d57b9554f1
commit 1c7cee2d2c
2 changed files with 45 additions and 42 deletions

View File

@@ -7,8 +7,8 @@
<description>logParser - send data to influxdb</description> <description>logParser - send data to influxdb</description>
<properties> <properties>
<maven.compiler.source>1.6</maven.compiler.source> <maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.6</maven.compiler.target> <maven.compiler.target>1.7</maven.compiler.target>
</properties> </properties>
<dependencies> <dependencies>
<dependency> <dependency>
@@ -19,7 +19,7 @@
<dependency> <dependency>
<groupId>io.thekraken</groupId> <groupId>io.thekraken</groupId>
<artifactId>grok</artifactId> <artifactId>grok</artifactId>
<version>0.1.3</version> <version>0.1.5</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>commons-io</groupId> <groupId>commons-io</groupId>

View File

@@ -9,9 +9,9 @@ import org.apache.commons.io.input.Tailer;
import org.apache.commons.io.input.TailerListenerAdapter; import org.apache.commons.io.input.TailerListenerAdapter;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import oi.thekraken.grok.api.Grok; import io.thekraken.grok.api.Grok;
import oi.thekraken.grok.api.Match; import io.thekraken.grok.api.Match;
import oi.thekraken.grok.api.exception.GrokException; import io.thekraken.grok.api.exception.GrokException;
public class Parser extends TailerListenerAdapter { public class Parser extends TailerListenerAdapter {
@@ -95,41 +95,7 @@ public class Parser extends TailerListenerAdapter {
} }
} }
try { hasDate = makeTimeStampFromDate(hasDate, cal, entry);
if ( tagName.equalsIgnoreCase("year") ) {
hasDate = true;
cal.set(Calendar.YEAR, Integer.parseInt(String.valueOf(entry.getValue()) ) );
}
if ( tagName.equalsIgnoreCase("month") ) {
hasDate = true;
cal.set(Calendar.MONTH, Integer.parseInt(String.valueOf(entry.getValue()) ) );
}
if ( tagName.equalsIgnoreCase("day") ) {
hasDate = true;
cal.set(Calendar.DAY_OF_MONTH, Integer.parseInt(String.valueOf(entry.getValue()) ) );
}
if ( tagName.equalsIgnoreCase("hour") ) {
hasDate = true;
cal.set(Calendar.HOUR_OF_DAY, Integer.parseInt(String.valueOf(entry.getValue()) ) );
}
if ( tagName.equalsIgnoreCase("minute") ) {
hasDate = true;
cal.set(Calendar.MINUTE, Integer.parseInt(String.valueOf(entry.getValue()) ) );
}
if ( tagName.equalsIgnoreCase("second") ) {
hasDate = true;
cal.set(Calendar.SECOND, Integer.parseInt(String.valueOf(entry.getValue()) ) );
}
if ( tagName.equalsIgnoreCase("msecond") ) {
hasDate = true;
cal.set(Calendar.MILLISECOND, Integer.parseInt(String.valueOf(entry.getValue()) ) );
}
}catch(Exception e)
{
log.error("Impossible de parser la date " + e.getMessage());
}
} }
sb.append(" "); sb.append(" ");
@@ -156,6 +122,43 @@ public class Parser extends TailerListenerAdapter {
} }
} }
private boolean makeTimeStampFromDate(boolean hasDate, Calendar cal, Map.Entry<String, Object> entry) {
try {
if ( tagName.equalsIgnoreCase("year") ) {
hasDate = true;
cal.set(Calendar.YEAR, Integer.parseInt(String.valueOf(entry.getValue()) ) );
}
if ( tagName.equalsIgnoreCase("month") ) {
hasDate = true;
cal.set(Calendar.MONTH, Integer.parseInt(String.valueOf(entry.getValue()) ) );
}
if ( tagName.equalsIgnoreCase("day") ) {
hasDate = true;
cal.set(Calendar.DAY_OF_MONTH, Integer.parseInt(String.valueOf(entry.getValue()) ) );
}
if ( tagName.equalsIgnoreCase("hour") ) {
hasDate = true;
cal.set(Calendar.HOUR_OF_DAY, Integer.parseInt(String.valueOf(entry.getValue()) ) );
}
if ( tagName.equalsIgnoreCase("minute") ) {
hasDate = true;
cal.set(Calendar.MINUTE, Integer.parseInt(String.valueOf(entry.getValue()) ) );
}
if ( tagName.equalsIgnoreCase("second") ) {
hasDate = true;
cal.set(Calendar.SECOND, Integer.parseInt(String.valueOf(entry.getValue()) ) );
}
if ( tagName.equalsIgnoreCase("msecond") ) {
hasDate = true;
cal.set(Calendar.MILLISECOND, Integer.parseInt(String.valueOf(entry.getValue()) ) );
}
}catch(Exception e)
{
log.error("Impossible de parser la date " + e.getMessage());
}
return hasDate;
}
String sanitizeString(String s) String sanitizeString(String s)
{ {
return s.trim().replaceAll(" ", "\\\\ ").replaceAll(",", "\\\\,").replaceAll("=", "\\\\="); return s.trim().replaceAll(" ", "\\\\ ").replaceAll(",", "\\\\,").replaceAll("=", "\\\\=");