blob: 2f744abcb4b97009d18cf609e951c64ec0b0ce4b [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!--
* 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.
-->
<ui:composition template="/main.xhtml"
xmlns:tc="http://myfaces.apache.org/tobago/component"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:demo="http://myfaces.apache.org/tobago/example/demo"
xmlns:f="http://java.sun.com/jsf/core"
xmlns="http://www.w3.org/1999/xhtml">
<ui:param name="title" value="Logging Info"/>
<tc:gridLayout rows="auto auto auto 1fr" rendered="#{serverInfo.enabled}">
<tc:in label="Test Category" value="#{loggingController.testCategory}"/>
<tc:button label="Update" action="#{loggingController.update}"/>
<tc:separator/>
<tc:gridLayout columns="auto 120px auto 1fr">
<tc:label value="JUL" tip="Java Util Logging"/>
<tc:selectBooleanCheckbox value="#{loggingController.jul.available}" readonly="true"
label="available" labelLayout="skip"/>
<tc:button label="Log" tip="Log some stuff in every level" action="#{loggingController.jul.logDemo}"
disabled="#{not loggingController.jul.available}"/>
<tc:out value="#{loggingController.jul.activeLevels}"/>
<tc:label value="SLF4J" tip="Simple Logging Facade"/>
<tc:selectBooleanCheckbox value="#{loggingController.slf4j.available}" readonly="true"
label="available" labelLayout="skip"/>
<tc:button label="Log" tip="Log some stuff in every level" action="#{loggingController.slf4j.logDemo}"
disabled="#{not loggingController.slf4j.available}"/>
<tc:out value="#{loggingController.slf4j.activeLevels}"/>
<tc:label value="LOG4J"/>
<tc:selectBooleanCheckbox value="#{loggingController.log4j.available}" readonly="true"
label="available" labelLayout="skip"/>
<tc:button label="Log" tip="Log some stuff in every level" action="#{loggingController.log4j.logDemo}"
disabled="#{not loggingController.log4j.available}"/>
<tc:out value="#{loggingController.log4j.activeLevels}"/>
<tc:label value="LOG4J2"/>
<tc:selectBooleanCheckbox value="#{loggingController.log4j2.available}" readonly="true"
label="available" labelLayout="skip"/>
<tc:button label="Log" tip="Log some stuff in every level" action="#{loggingController.log4j2.logDemo}"
disabled="#{not loggingController.log4j2.available}"/>
<tc:out value="#{loggingController.log4j2.activeLevels}"/>
<tc:label value="JCL" tip="Commons Logging"/>
<tc:selectBooleanCheckbox value="#{loggingController.commonsLogging.available}" readonly="true"
label="available" labelLayout="skip"/>
<tc:button label="Log" tip="Log some stuff in every level" action="#{loggingController.commonsLogging.logDemo}"
disabled="#{not loggingController.commonsLogging.available}"/>
<tc:out value="#{loggingController.commonsLogging.activeLevels}"/>
</tc:gridLayout>
<tc:flowLayout>
<h3>This is a test page to check if all logging libraries are working well in the used container.</h3>
<ul>
<li>Change the category to check different categories and press "update" to see if the category is enabled.</li>
<li>Press "Log some stuff in every level" to log in that category.</li>
<li>Consult your log file (or anywhere you are logging) to check the result</li>
</ul>
</tc:flowLayout>
</tc:gridLayout>
<tc:section label="Logback Status Messages">
<tc:sheet value="#{loggingController.statusList}" var="status" markup="small">
<tc:column label="Date">
<tc:out value="#{demo:logbackDate(status.date)}" labelLayout="skip">
<f:convertDateTime type="both"/>
</tc:out>
</tc:column>
<tc:column label="Level">
<tc:out value="#{demo:logbackLevel(status.level)}" labelLayout="skip"/>
</tc:column>
<tc:column label="Origin">
<tc:out value="#{status.origin.getClass().simpleName}" tip="#{status.origin.getClass().name}" labelLayout="skip"/>
</tc:column>
<tc:column label="Message">
<tc:out value="#{status.message}" labelLayout="skip"/>
</tc:column>
</tc:sheet>
</tc:section>
</ui:composition>