gitextract_a39vjp3u/ ├── .editorconfig ├── .github/ │ ├── FUNDING.yml │ └── workflows/ │ └── build.yml ├── .gitignore ├── .pmd ├── .travis.yml__ ├── CHANGELOG.md ├── CNAME ├── GeoIP2-TestData/ │ ├── Dockerfile │ ├── README.md │ ├── rebuild.sh │ ├── source-data/ │ │ ├── GeoIP2-City-Test.json │ │ ├── GeoIP2-Country-Test.json │ │ ├── GeoIP2-ISP-Test.json │ │ └── GeoLite2-ASN-Test.json │ └── test-data/ │ ├── GeoIP2-City-Test.mmdb │ ├── GeoIP2-Country-Test.mmdb │ ├── GeoIP2-ISP-Test.mmdb │ ├── GeoLite2-ASN-Test.mmdb │ └── write-test-data.pl ├── LICENSE ├── README-Hive.md ├── README-Java.md ├── README-Pig.md ├── README-geoip.md ├── README.md ├── _config.yml ├── devtools/ │ ├── docker/ │ │ ├── Dockerfile │ │ ├── bashcolors.sh │ │ ├── build_env_checks.sh │ │ ├── configure-for-user.sh │ │ ├── env.sh │ │ └── prompt.sh │ ├── logformat.conf │ ├── pom.xml │ ├── release.sh │ └── src/ │ └── main/ │ └── resources/ │ └── checkstyle/ │ ├── checkstyle.xml │ └── suppressions.xml ├── docs/ │ ├── CNAME │ └── README.md ├── examples/ │ ├── apache-beam/ │ │ ├── .gitignore │ │ ├── pom.xml │ │ └── src/ │ │ └── test/ │ │ ├── avro/ │ │ │ └── Record.avdl │ │ ├── java/ │ │ │ └── nl/ │ │ │ └── basjes/ │ │ │ └── parse/ │ │ │ └── httpdlog/ │ │ │ └── beam/ │ │ │ ├── TestCase.java │ │ │ ├── avro/ │ │ │ │ ├── ExpectedClick.java │ │ │ │ ├── TestParserDoFnAvro.java │ │ │ │ └── TestParserDoFnAvroInline.java │ │ │ └── pojo/ │ │ │ ├── MyRecord.java │ │ │ ├── TestParserDoFnClass.java │ │ │ └── TestParserDoFnInline.java │ │ └── resources/ │ │ └── log4j.properties │ ├── apache-flink/ │ │ ├── .gitignore │ │ ├── pom.xml │ │ └── src/ │ │ └── test/ │ │ ├── avro/ │ │ │ └── Record.avdl │ │ ├── java/ │ │ │ └── nl/ │ │ │ └── basjes/ │ │ │ └── parse/ │ │ │ └── httpdlog/ │ │ │ └── flink/ │ │ │ ├── TestCase.java │ │ │ ├── avro/ │ │ │ │ ├── ExpectedClick.java │ │ │ │ ├── TestParserMapFunctionAvroClass.java │ │ │ │ └── TestParserMapFunctionAvroInline.java │ │ │ └── pojo/ │ │ │ ├── MyRecord.java │ │ │ ├── TestParserMapFunctionClass.java │ │ │ └── TestParserMapFunctionInline.java │ │ └── resources/ │ │ └── log4j.properties │ ├── apache-hadoop-mapreduce/ │ │ ├── .gitignore │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── assembly/ │ │ │ └── job.xml │ │ └── java/ │ │ └── nl/ │ │ └── basjes/ │ │ └── hadoop/ │ │ └── io/ │ │ └── input/ │ │ └── Wordcount.java │ ├── demolog/ │ │ ├── README.md │ │ └── hackers-access.log │ ├── java-pojo/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── nl/ │ │ │ └── basjes/ │ │ │ └── parse/ │ │ │ ├── Main.java │ │ │ └── MyRecord.java │ │ └── resources/ │ │ └── log4j.properties │ └── pom.xml ├── httpdlog/ │ ├── httpdlog-inputformat/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── assembly/ │ │ │ │ └── job.xml │ │ │ └── java/ │ │ │ └── nl/ │ │ │ └── basjes/ │ │ │ └── hadoop/ │ │ │ └── input/ │ │ │ ├── ApacheHttpdLogfileInputFormat.java │ │ │ ├── ApacheHttpdLogfileRecordReader.java │ │ │ └── ParsedRecord.java │ │ └── test/ │ │ ├── java/ │ │ │ └── nl/ │ │ │ └── basjes/ │ │ │ └── hadoop/ │ │ │ └── input/ │ │ │ ├── TestApacheHttpdLogfileInputFormat.java │ │ │ ├── TestGetAllFields.java │ │ │ └── TestParsedRecord.java │ │ └── resources/ │ │ ├── access.log │ │ └── log4j.properties │ ├── httpdlog-parser/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── antlr4/ │ │ │ │ └── nl/ │ │ │ │ └── basjes/ │ │ │ │ └── parse/ │ │ │ │ └── strftime/ │ │ │ │ └── StrfTime.g4 │ │ │ ├── assembly/ │ │ │ │ └── job.xml │ │ │ ├── java/ │ │ │ │ └── nl/ │ │ │ │ └── basjes/ │ │ │ │ └── parse/ │ │ │ │ └── httpdlog/ │ │ │ │ ├── ApacheHttpdLogFormatDissector.java │ │ │ │ ├── HttpdLogFormatDissector.java │ │ │ │ ├── HttpdLoglineParser.java │ │ │ │ ├── NginxHttpdLogFormatDissector.java │ │ │ │ ├── Utils.java │ │ │ │ └── dissectors/ │ │ │ │ ├── HttpFirstLineDissector.java │ │ │ │ ├── HttpFirstLineProtocolDissector.java │ │ │ │ ├── HttpUriDissector.java │ │ │ │ ├── ModUniqueIdDissector.java │ │ │ │ ├── QueryStringFieldDissector.java │ │ │ │ ├── RequestCookieListDissector.java │ │ │ │ ├── ResponseSetCookieDissector.java │ │ │ │ ├── ResponseSetCookieListDissector.java │ │ │ │ ├── ScreenResolutionDissector.java │ │ │ │ ├── StrfTimeStampDissector.java │ │ │ │ ├── StrfTimeToDateTimeFormatter.java │ │ │ │ ├── TimeStampDissector.java │ │ │ │ ├── geoip/ │ │ │ │ │ ├── AbstractGeoIPDissector.java │ │ │ │ │ ├── GeoIPASNDissector.java │ │ │ │ │ ├── GeoIPCityDissector.java │ │ │ │ │ ├── GeoIPCountryDissector.java │ │ │ │ │ └── GeoIPISPDissector.java │ │ │ │ ├── nginxmodules/ │ │ │ │ │ ├── CoreLogModule.java │ │ │ │ │ ├── GeoIPModule.java │ │ │ │ │ ├── KubernetesIngressModule.java │ │ │ │ │ ├── NginxModule.java │ │ │ │ │ ├── SslModule.java │ │ │ │ │ ├── UpstreamListDissector.java │ │ │ │ │ ├── UpstreamModule.java │ │ │ │ │ └── VariousModule.java │ │ │ │ ├── tokenformat/ │ │ │ │ │ ├── NamedTokenParser.java │ │ │ │ │ ├── ParameterizedTokenParser.java │ │ │ │ │ ├── Token.java │ │ │ │ │ ├── TokenFormatDissector.java │ │ │ │ │ ├── TokenOutputField.java │ │ │ │ │ ├── TokenParser.java │ │ │ │ │ └── TokenSorterByStartPos.java │ │ │ │ └── translate/ │ │ │ │ ├── ConvertCLFIntoNumber.java │ │ │ │ ├── ConvertMillisecondsIntoMicroseconds.java │ │ │ │ ├── ConvertNumberIntoCLF.java │ │ │ │ ├── ConvertSecondsWithMillisStringDissector.java │ │ │ │ └── TypeConvertBaseDissector.java │ │ │ └── resources/ │ │ │ └── version/ │ │ │ └── Version.java.template │ │ └── test/ │ │ ├── java/ │ │ │ └── nl/ │ │ │ └── basjes/ │ │ │ └── parse/ │ │ │ └── httpdlog/ │ │ │ ├── ApacheHttpdAllFieldsTest.java │ │ │ ├── ApacheHttpdLogParserTest.java │ │ │ ├── BasicOverallTest.java │ │ │ ├── ClientHintsTest.java │ │ │ ├── CookiesTest.java │ │ │ ├── EdgeCasesTest.java │ │ │ ├── JettyLogFormatParserTest.java │ │ │ ├── JsonLogFormatTest.java │ │ │ ├── MultiLineHttpdLogParserTest.java │ │ │ ├── NginxLogFormatJsonTest.java │ │ │ ├── NginxLogFormatTest.java │ │ │ ├── UtilsTest.java │ │ │ ├── dissectors/ │ │ │ │ ├── TestCookieDissector.java │ │ │ │ ├── TestGeoIPDissectors.java │ │ │ │ ├── TestHttpFirstLineDissector.java │ │ │ │ ├── TestHttpUriDissector.java │ │ │ │ ├── TestModUniqueIdDissector.java │ │ │ │ ├── TestQueryStringDissector.java │ │ │ │ └── TestTimeStampDissector.java │ │ │ ├── nginxmodules/ │ │ │ │ ├── NginxAllFieldsTest.java │ │ │ │ └── NginxUpstreamTest.java │ │ │ └── translate/ │ │ │ └── TestTranslators.java │ │ └── resources/ │ │ └── log4j.properties │ ├── httpdlog-serde/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── assembly/ │ │ │ │ └── udf.xml │ │ │ └── java/ │ │ │ └── nl/ │ │ │ └── basjes/ │ │ │ └── parse/ │ │ │ └── httpdlog/ │ │ │ └── ApacheHttpdlogDeserializer.java │ │ └── test/ │ │ ├── java/ │ │ │ └── nl/ │ │ │ └── basjes/ │ │ │ └── parse/ │ │ │ └── httpdlog/ │ │ │ ├── TestAllDissectorTypes.java │ │ │ └── TestApacheHttpdlogDeserializer.java │ │ └── resources/ │ │ └── log4j.properties │ └── pom.xml ├── parser-core/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── assembly/ │ │ │ └── job.xml │ │ └── java/ │ │ └── nl/ │ │ └── basjes/ │ │ └── parse/ │ │ └── core/ │ │ ├── Casts.java │ │ ├── Dissector.java │ │ ├── Field.java │ │ ├── Parsable.java │ │ ├── ParsedField.java │ │ ├── Parser.java │ │ ├── SimpleDissector.java │ │ ├── Value.java │ │ └── exceptions/ │ │ ├── DissectionFailure.java │ │ ├── FatalErrorDuringCallOfSetterMethod.java │ │ ├── InvalidDissectorException.java │ │ ├── InvalidFieldMethodSignature.java │ │ └── MissingDissectorsException.java │ └── test/ │ ├── java/ │ │ └── nl/ │ │ └── basjes/ │ │ └── parse/ │ │ └── core/ │ │ ├── ParserCastsTest.java │ │ ├── ParserDissectionOutputTypesTest.java │ │ ├── ParserDuplicateOutputTest.java │ │ ├── ParserExceptionsTest.java │ │ ├── ParserInfiniteLoopTest.java │ │ ├── ParserNormalTest.java │ │ ├── ParserNormalTestRecord.java │ │ ├── ParserResetTest.java │ │ ├── ParserTypeColissionTest.java │ │ ├── ParserTypeRemappingEdgeCase.java │ │ ├── TestBadAPIUsage.java │ │ ├── annotation/ │ │ │ ├── TestFieldSetters.java │ │ │ ├── TestFieldSettersAlwaysCombined.java │ │ │ ├── TestFieldSettersAlwaysSeparate.java │ │ │ ├── TestFieldSettersNotEmpty.java │ │ │ └── TestFieldSettersNotNull.java │ │ ├── convert/ │ │ │ └── ValueConvertTest.java │ │ ├── reference/ │ │ │ ├── BarDissector.java │ │ │ ├── FooDissector.java │ │ │ ├── FooSpecialDissector.java │ │ │ ├── ReferenceTest.java │ │ │ └── ReferenceTestDouble.java │ │ └── test/ │ │ ├── DissectorTester.java │ │ ├── EmptyValuesDissector.java │ │ ├── MyDissectorTester.java │ │ ├── NormalValuesDissector.java │ │ ├── NullValuesDissector.java │ │ ├── TestRecord.java │ │ ├── TestUltimateDummyDissector.java │ │ ├── TestUltimateDummyDissectorFailurelogging.java │ │ └── UltimateDummyDissector.java │ └── resources/ │ └── log4j.properties ├── pom.xml ├── renovate.json ├── start-docker.sh └── utils/ ├── PojoGenerator/ │ ├── pom.xml │ └── src/ │ └── main/ │ └── java/ │ └── nl/ │ └── basjes/ │ └── parse/ │ └── httpdlog/ │ └── PojoGenerator.java └── pom.xml