<!--

    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="task-view-logs-clustered-instance" name="task-view-logs-clustered-instance"></a><a id="GHCLU00049" name="GHCLU00049"></a></p>

<h4><a id="sthref85" name="sthref85"></a><a id="sthref86" name="sthref86"></a><a id="sthref87" name="sthref87"></a><a id="sthref88" name="sthref88"></a>To View Log Files for a Clustered GlassFish Server Instance</h4>
<a name="BEGIN" id="BEGIN"></a><a id="sthref89" name="sthref89"></a>
<h5>Before You Begin</h5>
<p>The instance for which you are viewing log files must be running.</p>
<ol>
<li>
<p>In the navigation tree, expand the Clusters node.</p>
</li>
<li>
<p>Under the expanded Clusters node, select the node for the cluster.</p>
<p>The General Information page for the cluster opens.</p>
</li>
<li>
<p>On the General Information page, click the Instances tab.</p>
<p>The Clustered Server Instances page for the cluster opens.</p>
</li>
<li>
<p>Select the instance for which to view log files.</p>
<p>The General Information page for the instance opens.</p>
</li>
<li>
<p>On the General Information page, click View Log Files.</p>
<p>A Log Viewer window opens.</p>

<hr>
<p><b>Note:</b></p>
<p>The instance must already be running. If the instance is not running, the View Log Files button is deactivated.</p>

<hr>

</li>
</ol>
<a id="sthref90" name="sthref90"></a>
<h5>See Also</h5>
<ul>
<li>
<p><a href="../../../common/en/help/task-filter-logs.html">To Filter Displayed Log Records</a></p>
</li>
<li>
<p><a href="task-create-clustered-instance.html">To Add a GlassFish Server Instance to a Cluster</a></p>
</li>
<li>
<p><a href="task-delete-clustered-instances.html">To Delete Clustered GlassFish Server Instances</a></p>
</li>
<li>
<p><a href="task-start-clustered-instances.html">To Start Clustered GlassFish Server Instances</a></p>
</li>
<li>
<p><a href="task-stop-clustered-instances.html">To Stop Clustered GlassFish Server Instances</a></p>
</li>
<li>
<p><a href="task-recovertransactions.html">To Recover Transactions for a Clustered GlassFish Server Instance</a></p>
</li>
<li>
<p><a href="task-change-clustered-instance-ports.html">To Modify the Port Numbers of a Clustered GlassFish Server Instance</a></p>
</li>
<li>
<p><a href="task-set-props-clustered-instance.html">To Set Instance-Only Properties for a Clustered GlassFish Server Instance</a></p>
</li>
<li>
<p><a href="task-mon-app-clustered-instance.html">To View Application Monitoring Data for a Clustered GlassFish Server Instance</a></p>
</li>
<li>
<p><a href="task-mon-server-clustered-instance.html">To View Virtual-Server Monitoring Data for a Clustered GlassFish Server Instance</a></p>
</li>
<li>
<p><a href="task-mon-resource-clustered-instance.html">To View Resource Monitoring Data for a Clustered GlassFish Server Instance</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>
