[parsers|analysers] BaseInterface should contain a member containing the parsing/analysing errors
So a list with errors or a bool So that other python code can check if there was an error.
And all parsers/analysers need to store their errors in there. Perhaps through a local logging function in the BaseInterface. They also need to store their errors in the error logging.
In fact, we should define a bit more how do we want a parser/analyser report that. So far, unit testing expects exceptions thrown out to show failure. Maybe, a parser/analyser should:
- Throw an exception when an error occurs to show something went wrong and that the outcome cannot be reliable/trusted for further analysis. Which means, the main application invoking it should capture the Exception. Potential example, lack of data source to parse/analyse.
- Keep a status of everything went OK or "I finished with caveats". While reporting the caveats via logging (warnings, debug traces) instead of keeping them somewhere.
All this is in line with issue #85
I would be interesting to have the metrics related to the number of entries parsed, the time range of those entries and/or the output size in bytes.
what about having something like:
- status : OK, OK with WARNINGS, ERROR
- list of warnings (also reported in the logging)
- list of errors (also reported in the logging)
- elapsed time
- number of processed entries
- (optional) earliest timestamp, latest timestamp