blob: d4ca2bdda4c6575d256b857d2da2aa26e10cca1f [file] [log] [blame]
<!-- vim: set syn=markdown : -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
#set($h1='#')
#set($h2='##')
#set($h3='###')
$h1 The Apache Log4j Audit Sample Project
Log4j-Audit has a companion sample project at https://github.com/apache/logging-log4j-audit-sample. This project
contains 3 modules that are described in the following sections. Developers may clone this project and use it
as the basis for their own auditing projects
$h2 Audit Service API
The Audit Service API module contains the JSON catalog file that is used to generate the audit event Interfaces.
After running the build the generated Java source files will reside in the target/generated-source/log4j-audit
directory. All the classes will be in the org.apache.logging.log4j.audit.event package.
$h2 Audit Service WAR
The Audit Service WAR module builds a REST application that can be deployed to a servlet container. The REST
application provides endpoints to perform audit logging for remote and non-Java applications as well as
endpoints to create, read, update and delete dynamic catalog entries.
$h2 Sample Application
As its name implies, the sample application module provides a minimal sample application that demonstrates how
audit logging may be performed. Because this is a standalone application instead of a web application, initialization
of the RequestContext does not match how it would typically be done when integrated into a web application.