{"id":17100770,"url":"https://github.com/frosenberg/elff-parser-scala","last_synced_at":"2026-05-04T03:38:35.728Z","repository":{"id":147278065,"uuid":"51220593","full_name":"frosenberg/elff-parser-scala","owner":"frosenberg","description":"W3C Extended Log File Parser for Scala","archived":false,"fork":false,"pushed_at":"2016-02-06T20:41:09.000Z","size":154,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-29T00:49:33.573Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Scala","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/frosenberg.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-02-06T20:32:44.000Z","updated_at":"2016-02-06T20:33:56.000Z","dependencies_parsed_at":"2023-04-28T10:24:45.995Z","dependency_job_id":null,"html_url":"https://github.com/frosenberg/elff-parser-scala","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frosenberg%2Felff-parser-scala","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frosenberg%2Felff-parser-scala/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frosenberg%2Felff-parser-scala/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frosenberg%2Felff-parser-scala/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/frosenberg","download_url":"https://codeload.github.com/frosenberg/elff-parser-scala/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245152738,"owners_count":20569399,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-14T15:14:38.255Z","updated_at":"2026-05-04T03:38:30.700Z","avatar_url":"https://github.com/frosenberg.png","language":"Scala","funding_links":[],"categories":[],"sub_categories":[],"readme":"elff-parser-scala\n==================\n\n# Purpose\nThe purpose of this little parser is to provide W3C Extended Log File Format (ELFF) \nParsing capabilities in Scala (and thus in Spark). Many tools use the ELFF, such \nas Bluecoat.\n\nELFF comes in many different flavors  The idea is that the either the log file\ncontains a specification of the fields in the logfile. For example:\n\n```\n#Software: SGOS 3.2.4.8\n#Version: 1.0\n#Date: 2005-04-12 19:56:33\n#Fields: date time time-taken c-ip sc-status s-action sc-bytes cs-bytes cs-method cs-uri-scheme cs-host cs-uri-path cs-uri-query cs-username s-hierarchy s-supplier-name rs(Content-Type) cs(User-Agent) sc-filter-result sc-filter-category x-virus-id s-ip s-sitename x-virus-details x-icap-error-code x-icap-error-details\n2005-04-12 21:03:45 57358 192.16.170.46 503 TCP_ERR_MISS 1736 617 GET http www.yahoo.com / - - NONE 192.16.170.42 - \"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)\" DENIED none - 192.16.170.42 SG-HTTP-Service - server_unavailable \"Server unavailable: No ICAP server is available to process request.\"\n2005-04-12 22:00:43 74721 192.16.170.45 503 TCP_ERR_MISS 1736 503 GET http www.cnn.com / - - NONE 192.16.170.43 - \"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; FunWebProducts-MyWay)\" DENIED none - 192.16.170.43 SG-HTTP-Service - server_unavailable \"Server unavailable: No ICAP server is available to process request.\"\n``` \n\nThe parser will read the `Field:` line and parse out the fields that are used in the log files.\nIf no `Field: ` metadata line is present, you have to provide it to the parser. See the \nsecond unit test for details. If both are provided, the `Field` attribute in the file \ntakes precedence.  \n\n\nThis implementation is rudimentary and just basically tested. It is also my first\never attemp to learn Scala. Comments and suggestion welcome through issues. \n\n# Building / Test\n\n```\nsbt test\nsbt package\n```\n\n# Contributing\n\nPlease file an issue or submit a pull request. Thank you!","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrosenberg%2Felff-parser-scala","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffrosenberg%2Felff-parser-scala","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrosenberg%2Felff-parser-scala/lists"}