-
Notifications
You must be signed in to change notification settings - Fork 64
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
Throws Exceptions when Encountering Real World Logs #50
Comments
Hi. This case is similar to #49, which involves badly formed HTTP requests. Given they're not technically valid, I don't know how much value do you get parsing them, but the I'd keep parsing logs with the format you have and have a second instance of Something like: $parser = new LogParser();
$parser->setFormat('%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"');
$laxParser = new LogParser();
$laxParser->setFormat('%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"');
$laxParser->addPattern('%r', '(?P<request>.+)');
foreach ($lines as $line) {
try {
try {
$entry = $parser->parse($line);
} catch (FormatException $e) {
$entry = $laxParser->parse($line);
}
} catch (FormatException $e) {
continue;
}
// process $entry
} |
While it's not what I wanted to hear -- that's a fair philosophy. Closing out. |
Hello there -- first off, thank you for building this and saving us all the trouble of building our own regular expressions to parse Apache's log files.
When I tried using this package on my actual real world Apache logs, it mostly worked. However, there were a number of different lines where it failed to parse logs and threw an exception in my program. Here's one example
My log format looks like this
Here's one line that failed to parse
and here's a few others
Is there a way to configure this library to be less strict when trying to parse these log lines?
If not, do you have any time/interest in enhancing the functionality of this library so it can handle cases like these?
The text was updated successfully, but these errors were encountered: