<!--

    Copyright (c) 2005, 2018 Oracle and/or its affiliates. All rights reserved.

    This program and the accompanying materials are made available under the
    terms of the Eclipse Public License v. 2.0, which is available at
    http://www.eclipse.org/legal/epl-2.0.

    This Source Code may also be made available under the following Secondary
    Licenses when the conditions for such availability set forth in the
    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
    version 2 with the GNU Classpath Exception, which is available at
    https://www.gnu.org/software/classpath/license.html.

    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0

-->

<p><a id="ref-auditmodules" name="ref-auditmodules"></a><a id="GHCOM00110" name="GHCOM00110"></a></p>

<h4><a id="sthref216" name="sthref216"></a>Audit Modules</h4>
<a name="BEGIN" id="BEGIN"></a>
<p>Use the Audit Modules page to configure audit modules.</p>
<p>Auditing is how GlassFish Server records significant events, such as errors or security breaches. GlassFish Server records all authentication events in log files. A complete access log provides a sequential trail of GlassFish Server access events.</p>
<p>For each audit module, the following information is provided.</p>
<dl>
<dt>Name</dt>
<dd>
<p>The name of the audit module.</p>
</dd>
<dt>Class Name</dt>
<dd>
<p>The fully qualified name of the class that implements this module. The class name for the default audit module is <code>com.sun.enterprise.security.Audit</code>.</p>
</dd>
</dl>
<p>The Modules table also contains the following options.</p>
<dl>
<dt>New</dt>
<dd>
<p>Button to create a new audit module.</p>
</dd>
<dt>Delete</dt>
<dd>
<p>Button to delete one or more selected audit modules.</p>
</dd>
</dl>
<a id="GHCOM444" name="GHCOM444"></a>
<h5>Related asadmin Commands</h5>
<ul>
<li>
<p><a href="http://www.oracle.com/pls/topic/lookup?ctx=E26576_01&id=GSRFM00014"><code>create-audit-module</code>(1)</a></p>
</li>
<li>
<p><a href="http://www.oracle.com/pls/topic/lookup?ctx=E26576_01&id=GSRFM00149"><code>list-audit-modules</code>(1)</a></p>
</li>
<li>
<p><a href="http://www.oracle.com/pls/topic/lookup?ctx=E26576_01&id=GSRFM00065"><code>delete-audit-module</code>(1)</a></p>
</li>
</ul>


<small>Copyright &#169; 2005, 2017, Oracle and/or its affiliates. All rights reserved. <a href="docinfo.html">Legal Notices</a></small>
