{"id":38601015,"url":"https://github.com/actigence/api-access-tracker-java-client","last_synced_at":"2026-01-17T08:33:41.189Z","repository":{"id":39938959,"uuid":"260117425","full_name":"actigence/api-access-tracker-java-client","owner":"actigence","description":"A simple Java client for API Access Tracker","archived":false,"fork":false,"pushed_at":"2022-05-20T21:35:42.000Z","size":37,"stargazers_count":0,"open_issues_count":3,"forks_count":0,"subscribers_count":0,"default_branch":"develop","last_synced_at":"2025-07-09T03:17:55.862Z","etag":null,"topics":["apilogging","apitracker","java","requestlogging"],"latest_commit_sha":null,"homepage":"","language":"Java","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/actigence.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":"2020-04-30T04:58:30.000Z","updated_at":"2020-10-15T00:21:39.000Z","dependencies_parsed_at":"2022-08-19T01:30:53.081Z","dependency_job_id":null,"html_url":"https://github.com/actigence/api-access-tracker-java-client","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/actigence/api-access-tracker-java-client","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/actigence%2Fapi-access-tracker-java-client","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/actigence%2Fapi-access-tracker-java-client/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/actigence%2Fapi-access-tracker-java-client/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/actigence%2Fapi-access-tracker-java-client/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/actigence","download_url":"https://codeload.github.com/actigence/api-access-tracker-java-client/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/actigence%2Fapi-access-tracker-java-client/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28504364,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T06:57:29.758Z","status":"ssl_error","status_checked_at":"2026-01-17T06:56:03.931Z","response_time":85,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["apilogging","apitracker","java","requestlogging"],"created_at":"2026-01-17T08:33:41.113Z","updated_at":"2026-01-17T08:33:41.171Z","avatar_url":"https://github.com/actigence.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# API Access Tracker (Java Client) \n![Java CI with Maven](https://github.com/Actigence/api-access-tracker-java-client/workflows/Java%20CI%20with%20Maven/badge.svg)\n\n\nThis is the supporting Java client for [API Access Tracker](https://github.com/Actigence/api-access-tracker-backend).\n\nThis Java client in conjunction with the [API Access Tracker (Backend)](https://github.com/Actigence/api-access-tracker-backend)\ncan be used to log all request and response data for your webservices APIs. If you want to log all the requests coming to your\nwebservices you can use [API Access Tracker](https://github.com/Actigence/api-access-tracker-backend).\n\n[API Access Tracker](https://github.com/Actigence/api-access-tracker-backend) stores all the request details of API calls \nmade to your webservices to AWS using serverless technologies such as AWS DynamoDB, AWS Lambda, AWS SQS etc.\n\nThis README will not detail into how [API Access Tracker](https://github.com/Actigence/api-access-tracker-backend) works, \nbut will describe setup of this Java client too allow you to start pushing data too AWS Stack created by \n[API Access Tracker (Backend)](https://github.com/Actigence/api-access-tracker-backend).\n\n# How this client works?\nThis client contains a simple Http Servlet filter, which when setup correctly, intercepts all the requests coming to your\nAPIs, and publishes them to the AWS SQS created by [API Access Tracker (Backend)](https://github.com/Actigence/api-access-tracker-backend).\nBefore starting to use this client, you must follow steps described in [API Access Tracker (Backend)](https://github.com/Actigence/api-access-tracker-backend)\nto setup your AWS Stack.\n\n# Getting Started\nFollow below steps to setup **API Access Tracker**.\n* Setup [API Access Tracker (Backend)](https://github.com/Actigence/api-access-tracker-backend)\n* Create an AWS IAM user that has access to AWS SQS queues generated by **API Access Tracker (Backend)**. \nYou can use below policy for reference.\n```$xslt\n{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n   {\n     \"Sid\": \"VisualEditor0\",\n     \"Effect\": \"Allow\",\n     \"Action\": [\n       \"sqs:GetQueueUrl\",\n       \"sqs:SendMessage\",\n       \"sqs:CreateQueue\"\n     ],\n     \"Resource\": \"arn:aws:sqs:us-east-1:\u003cYour-AWS-Account-ID\u003e:aal_*\"\n   }\n ]\n}\n``` \n* Add this **API Access Tracker (Java Client)** to you Java project. \n\nFor **Maven** Project\n```$xslt\n\u003cdependency\u003e\n  \u003cgroupId\u003ecom.actigence\u003c/groupId\u003e\n  \u003cartifactId\u003eapi-access-tracker-java-client\u003c/artifactId\u003e\n  \u003cversion\u003e0.0.1\u003c/version\u003e\n\u003c/dependency\u003e\n```\nFor **Gradle** Project\n```$xslt\nplugins {\nid 'maven'\n}\n\ndependencies {\nimplementation 'com.actigence:api-access-tracker-java-client:0.0.1'\n}\n```\n\n* Configure request filter to intercept desired URLs.\n\nFor projects build using Spring Boot add below configuration file:\n```java\n@Configuration\npublic class FilterConfiguration\n{\n\n    @Bean\n    public FilterRegistrationBean\u003cApiAccessLoggingFilter\u003e loggingFilter()\n    {\n        FilterRegistrationBean\u003cApiAccessLoggingFilter\u003e registrationBean = new FilterRegistrationBean\u003c\u003e();\n        registrationBean.setFilter(new ApiAccessLoggingFilter());\n        registrationBean.addUrlPatterns(\"/test/*\");\n        registrationBean.addInitParameter(\"clientId\", \"MyServiceName\");\n        return registrationBean;\n    }\n}\n```\n\nFor projects built using Java Servlets:\n```xml\n\u003c?xml version=\"1.0\" encoding=\"ISO-8859-1\"?\u003e\n\n\u003c!DOCTYPE web-app\n        PUBLIC \"-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN\"\n        \"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd\"\u003e\n\n\u003cweb-app\u003e\n\n    \u003cfilter\u003e\n        \u003cfilter-name\u003eAPI Access Tracking Filter\u003c/filter-name\u003e\n        \u003cfilter-class\u003ecom.actigence.aal.ApiAccessLoggingFilter\u003c/filter-class\u003e\n        \u003cinit-param\u003e\n            \u003cparam-name\u003eclientId\u003c/param-name\u003e\n            \u003cparam-value\u003eMyServiceName\u003c/param-value\u003e\n        \u003c/init-param\u003e\n    \u003c/filter\u003e\n    \n    \u003cfilter-mapping\u003e\n        \u003cfilter-name\u003eAPI Access Tracking Filter\u003c/filter-name\u003e\n        \u003curl-pattern\u003e/test/*\u003c/url-pattern\u003e\n    \u003c/filter-mapping\u003e\n\n\u003c/web-app\u003e\n```\nThat's it. Now any request made to your webservice APIs at the configured URLs will be intercepted and you will be able to see entries in AWS DynamoDB tables.\n\n# Limitations\n* Minimum Java version 8 is required.\n* AWS SQS has limit of maximum payload size of 256 KB. Hence combined data of request and response values can not be more than 256 KB. ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Factigence%2Fapi-access-tracker-java-client","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Factigence%2Fapi-access-tracker-java-client","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Factigence%2Fapi-access-tracker-java-client/lists"}