{"id":26032574,"url":"https://github.com/apache/logging-log4j-audit","last_synced_at":"2025-04-09T18:08:54.538Z","repository":{"id":53898819,"uuid":"72975288","full_name":"apache/logging-log4j-audit","owner":"apache","description":"Mirror of Apache Log4j Audit Logging","archived":false,"fork":false,"pushed_at":"2024-07-16T16:37:56.000Z","size":1973,"stargazers_count":21,"open_issues_count":6,"forks_count":10,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-04-03T04:17:00.576Z","etag":null,"topics":["logging"],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/apache.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-11-06T07:00:07.000Z","updated_at":"2024-06-05T07:26:05.000Z","dependencies_parsed_at":"2024-01-15T15:44:34.212Z","dependency_job_id":"8ca5edc2-fde8-4695-87b3-23584ef62112","html_url":"https://github.com/apache/logging-log4j-audit","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Flogging-log4j-audit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Flogging-log4j-audit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Flogging-log4j-audit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Flogging-log4j-audit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/apache","download_url":"https://codeload.github.com/apache/logging-log4j-audit/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247149808,"owners_count":20892015,"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":["logging"],"created_at":"2025-03-06T22:04:16.120Z","updated_at":"2025-04-09T18:08:54.520Z","avatar_url":"https://github.com/apache.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Apache Log4j Audit \n\nLog4j-Audit provides a framework for defining audit events and then logging them using Log4j. The framework focuses on \ndefining the events and providing an easy mechanism for applications to log them, allowing products to provide \nconsistency and validity to the events that are logged. It does not focus on how the log events are written to a\ndata store. Log4j itself provides many options for that.\n\nThe expected process is that business analysts or product managers will be managing the catalog, defining the events\nand attributes so that consumers of the events will have a consistent experience. For example, instead of one event\nusing an attribute with a name of \"custAddr\" and another using a name of \"customerAddress\", both would use the same\nname for attributes that have the same meaning. \n\nOnce the catalog is modified in the web application it is saved as JSON to a git repository. It is expected that \na continuous integration system would notice the change and start a build of that project. The build would use the \nLog4j Audit Maven Plugin to generate Java interfaces that Java developers would use to implement the audit logging\nwithin the application. Non-Java applications would call the Audit Service by sending an appropriate Data Transfer\nObject in JSON form and the Audit Service would perform the same validation that logging via the Java Interface\nwould.\n\nLog4j Audit is not entirely usable by itself. Users of Log4j Audit must have a Git project that contains the JSON \ncatalog which will contain the Java Interfaces for the events defined in the catalog after a build is performed. They\nwill need to modify the Audit Service provided with Log4j Audit to include the JSON catalog (by including the \njust discussed Git project as a dependency) and configuring the Audit Service as desired. The \n[Log4j Audit Samples](https://github.com/apache/logging-log4j-audit-sample) is a\nsample project that illustrates how to perform these tasks.\n\n## Pull Requests on Github\n\nBy sending a pull request you grant the Apache Software Foundation sufficient rights to use and release the submitted \nwork under the Apache license. You grant the same rights (copyright license, patent license, etc.) to the \nApache Software Foundation as if you have signed a Contributor License Agreement. For contributions that are \njudged to be non-trivial, you will be asked to actually signing a Contributor License Agreement.\n\n## Packages\n\n### Log4j Audit\n\nThe Log4j Audit module contains the Log4j Audit API that Java application leverage to perform audit logging, the\nLog4j Audit Maven Plugin that generates Java Interfaces from the catalog, and the Audit Service that non-Java \napplications interact with to perform audit logging. The Audit service will also provide access to define \ndynamic catalog entries for systems that allow new custom objects and attributes to be created while the application \nis executing and need to audit when actions are taken against these objects. \n\n### Log4j Catalog \n\nThe Log4j Catalog module contains the API for working with the catalog, a module for persisting the catalog using \nthe Java Persistence Architecture (JPA), a module for reading and writing the JSON version of the catalog to a remote\nGIT repository, and a module that provides a web application that can edit the various components of the catalog.\n\n## Requirements\n\nLog4j Audit requires a minimum of Java 8 and Log4j API and Core 2.9.\n\n## Building From Source\n\nLog4j Audit requires Apache Maven 3.x. To build from source and install to your local Maven repository, execute \nthe following:\n\n```sh\nmvn clean install\n```\n\n## License\n\nApache Log4j Audit is distributed under the [Apache License, version 2.0](http://www.apache.org/licenses/LICENSE-2.0.html).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapache%2Flogging-log4j-audit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapache%2Flogging-log4j-audit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapache%2Flogging-log4j-audit/lists"}