Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

redirect error messages to a proper logger #176

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 10 additions & 3 deletions src/main/antlr3/com/joestelmach/natty/generated/DateLexer.g
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,16 @@ lexer grammar DateLexer;

@Override
public void displayRecognitionError(String[] tokenNames, RecognitionException re) {
String message = getErrorHeader(re);
try { message += getErrorMessage(re, tokenNames); } catch(Exception e) {}
_logger.debug(message);
if (_logger.isDebugEnabled()) {
String message = getErrorHeader(re);
try { message += getErrorMessage(re, tokenNames); } catch(Exception e) {}
_logger.debug(message);
}
}

@Override
public void emitErrorMessage(String msg) {
_logger.error(msg);
}
}

Expand Down
20 changes: 17 additions & 3 deletions src/main/antlr3/com/joestelmach/natty/generated/DateParser.g
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@ tokens {

@header {
package com.joestelmach.natty.generated;

import java.io.IOException;
}

@members {
Expand All @@ -46,9 +48,21 @@ tokens {

@Override
public void displayRecognitionError(String[] tokenNames, RecognitionException re) {
String message = getErrorHeader(re);
try { message += getErrorMessage(re, tokenNames); } catch(Exception e) {}
_logger.debug(message);
if (_logger.isDebugEnabled()) {
String message = getErrorHeader(re);
try { message += getErrorMessage(re, tokenNames); } catch(Exception e) {}
_logger.debug(message);
}
}

@Override
public void reportError(IOException e) {
_logger.error("Unexpected IO error", e);
}

@Override
public void emitErrorMessage(String msg) {
_logger.error(msg);
}
}

Expand Down
8 changes: 8 additions & 0 deletions src/main/antlr3/com/joestelmach/natty/generated/DateWalker.g
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@ options {
@header { package com.joestelmach.natty.generated; }

@members {
private static org.slf4j.Logger _logger =
org.slf4j.LoggerFactory.getLogger(com.joestelmach.natty.generated.DateWalker.class);

private com.joestelmach.natty.WalkerState _walkerState;
private java.util.Date referenceDate;

Expand All @@ -23,6 +26,11 @@ options {
throw e;
}

@Override
public void emitErrorMessage(String msg) {
_logger.error(msg);
}

public void setReferenceDate(java.util.Date referenceDate) {
this.referenceDate = referenceDate;
}
Expand Down
8 changes: 8 additions & 0 deletions src/main/antlr3/com/joestelmach/natty/generated/TreeRewrite.g
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@ options {
@header { package com.joestelmach.natty.generated; }

@members {
private static org.slf4j.Logger _logger =
org.slf4j.LoggerFactory.getLogger(com.joestelmach.natty.generated.TreeRewrite.class);

@Override
protected Object recoverFromMismatchedToken(IntStream input, int ttype, BitSet follow)
throws RecognitionException {
Expand All @@ -21,6 +24,11 @@ options {
throws RecognitionException {
throw e;
}

@Override
public void emitErrorMessage(String msg) {
_logger.error(msg);
}
}

@rulecatch {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,23 @@ options {
tokens {
INT;
}


@members {
private static org.slf4j.Logger _logger =
org.slf4j.LoggerFactory.getLogger(com.joestelmach.natty.generated.DateParser_NumericRules.class);

@Override
public void reportError(IOException e) {
_logger.error("Unexpected IO error", e);
}

@Override
public void emitErrorMessage(String msg) {
_logger.error(msg);
}
}


// ********** numeric rules **********

// a number between 00 and 59 inclusive, with a mandatory 0 prefix before numbers 0-9
Expand Down
6 changes: 3 additions & 3 deletions src/main/java/com/joestelmach/natty/IcsSearcher.java
Original file line number Diff line number Diff line change
Expand Up @@ -43,11 +43,11 @@ public Map<Integer, Date> findDates(int startYear, int endYear, String eventSumm
_holidayCalendar = new CalendarBuilder().build(fin);

} catch (IOException e) {
_logger.error("Couln't open " + _calendarFileName);
_logger.error("Couln't open {}", _calendarFileName);
return holidays;

} catch (ParserException e) {
_logger.error("Couln't parse " + _calendarFileName);
_logger.error("Couln't parse {}", _calendarFileName);
return holidays;
}
}
Expand All @@ -59,7 +59,7 @@ public Map<Integer, Date> findDates(int startYear, int endYear, String eventSumm
period = new Period(from, to);

} catch (ParseException e) {
_logger.error("Invalid start or end year: " + startYear + ", " + endYear, e);
_logger.error("Invalid start or end year: {}, {}", startYear, endYear, e);
return holidays;
}

Expand Down
18 changes: 10 additions & 8 deletions src/main/java/com/joestelmach/natty/Parser.java
Original file line number Diff line number Diff line change
Expand Up @@ -204,7 +204,7 @@ private DateGroup singleParse(TokenStream stream, String fullText, Date referenc

// we only continue if a meaningful syntax tree has been built
if(tree.getChildCount() > 0) {
_logger.info("PARSE: " + tokenString.toString());
_logger.info("PARSE: {}", tokenString.toString());

// rewrite the tree (temporary fix for http://www.antlr.org/jira/browse/ANTLR-427)
CommonTreeNodeStream nodes = new CommonTreeNodeStream(tree);
Expand All @@ -218,7 +218,7 @@ private DateGroup singleParse(TokenStream stream, String fullText, Date referenc
walker.setReferenceDate(referenceDate);
walker.getState().setDefaultTimeZone(_defaultTimeZone);
walker.parse();
_logger.info("AST: " + tree.toStringTree());
_logger.info("AST: {}", tree.toStringTree());

// run through the results and append the parse information
group = walker.getState().getDateGroup();
Expand Down Expand Up @@ -307,16 +307,18 @@ private List<TokenStream> collectTokenStreams(TokenStream stream) {
addGroup(currentGroup, groups);
}

_logger.info("STREAM: " + tokenString.toString());
_logger.info("STREAM: {}", tokenString.toString());
List<TokenStream> streams = new ArrayList<TokenStream>();
for(List<Token> group:groups) {
if(!group.isEmpty()) {
StringBuilder builder = new StringBuilder();
builder.append("GROUP: ");
for (Token token : group) {
builder.append(DateParser.tokenNames[token.getType()]).append(" ");
if (_logger.isInfoEnabled()) {
StringBuilder builder = new StringBuilder();
builder.append("GROUP: ");
for (Token token : group) {
builder.append(DateParser.tokenNames[token.getType()]).append(" ");
}
_logger.info(builder.toString());
}
_logger.info(builder.toString());

streams.add(new CommonTokenStream(new NattyTokenSource(group)));
}
Expand Down