logback-dev
Threads by month
- ----- 2026 -----
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- 9940 discussions
Author: ceki
Date: Wed Nov 12 16:26:28 2008
New Revision: 1966
Modified:
logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/LoggerContext.java
logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/jmx/JMXConfigurator.java
logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/jmx/MBeanUtil.java
logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/joran/action/JMXConfiguratorAction.java
logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/selector/servlet/ContextDetachingSCL.java
logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/spi/LoggerContextListener.java
logback/trunk/logback-classic/src/test/java/ch/qos/logback/classic/TurboFilteringInLoggerTest.java
logback/trunk/logback-classic/src/test/java/ch/qos/logback/classic/db/DBAppenderIntegrationTest.java
logback/trunk/logback-classic/src/test/java/ch/qos/logback/classic/jmx/JMXConfiguratorTest.java
logback/trunk/logback-classic/src/test/java/ch/qos/logback/classic/spi/BasicContextListener.java
logback/trunk/logback-classic/src/test/java/ch/qos/logback/classic/spi/ContextListenerTest.java
logback/trunk/logback-classic/src/test/java/ch/qos/logback/classic/util/InitializationTest.java
logback/trunk/logback-examples/src/main/java/chapter4/ExitWoes2.java
logback/trunk/logback-examples/src/main/java/chapter4/socket/SocketClient2.java
logback/trunk/logback-examples/src/main/java/chapter7/SimpleMDC.java
logback/trunk/logback-site/src/site/pages/manual/appenders.html
logback/trunk/logback-site/src/site/pages/manual/jmxConfig.html
logback/trunk/logback-site/src/site/pages/manual/joran.html
logback/trunk/logback-site/src/site/pages/manual/mdc.html
logback/trunk/logback-site/src/site/pages/news.html
Log:
While working on JMXConfigurator, it became apparent that
some components needed to survive resetting of the context.
For example, when the JMXConfigrator.reload*() methods are invoked, if
the JMXConfigurator instance is unregistered from the MBeans server
while the reload*() method is still running, then a
NullPointerException is thrown from the JMX server. Thus,
JMXConfigurator needs to survive the resetting of the LoggerContext it
is attached to. However, when the host application is stopped (or
restarted), the JMXConfigrator needs to be unregistered from the
MBeans server, otherwise severe memory leaks occur.
Consequently, LoggerContext now offers two related but distinct
methods, reset() and stop(). The former should be called if you just
wish to reset the configuration of the logger context. The former
should be called when you wish to completely stop the LoggerContext so
that it can not be reused ever again.
The LoggerContext.shutdownAndReset method no longer exists. (Simply
deprecating in favor of stop() or reset() seemed too error prone.)
Modified: logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/LoggerContext.java
==============================================================================
--- logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/LoggerContext.java (original)
+++ logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/LoggerContext.java Wed Nov 12 16:26:28 2008
@@ -63,9 +63,9 @@
boolean started = false;
+
public LoggerContext() {
super();
- System.out.println(" LoggerContext()=============================================================");
this.loggerCache = new Hashtable<String, Logger>();
this.loggerContextRemoteView = new LoggerContextRemoteView(this);
this.root = new Logger(ROOT_NAME, null, this);
@@ -190,25 +190,15 @@
return loggerContextRemoteView;
}
- @Override
- protected void finalize() {
- System.out.println("**************** LoggerContext finalized");
- }
+ /**
+ * This method closes all appenders,
+ */
public void reset() {
root.recursiveReset();
clearAllTurboFilters();
fireOnReset();
- // TODO is it a good idea to reset the status listeners?
+ resetListenersExceptResetResistant();
resetStatusListeners();
- resetListeners();
- }
-
- /**
- * @deprecated Please use reset() method instead
- */
-
- public void shutdownAndReset() {
- reset();
}
private void resetStatusListeners() {
@@ -269,7 +259,18 @@
loggerContextListenerList.remove(listener);
}
- private void resetListeners() {
+ private void resetListenersExceptResetResistant() {
+ List<LoggerContextListener> toRetain = new ArrayList<LoggerContextListener>();
+
+ for(LoggerContextListener lcl: loggerContextListenerList) {
+ if(lcl.isResetResistant()) {
+ toRetain.add(lcl);
+ }
+ }
+ loggerContextListenerList.retainAll(toRetain);
+ }
+
+ private void resetAllListeners() {
loggerContextListenerList.clear();
}
@@ -289,6 +290,12 @@
}
}
+ private void fireOnStop() {
+ for (LoggerContextListener listener : loggerContextListenerList) {
+ listener.onStop(this);
+ }
+ }
+
// === end listeners ==============================================
public boolean isStarted() {
@@ -302,11 +309,13 @@
public void stop() {
reset();
+ fireOnStop();
+ resetAllListeners();
started = false;
}
-// @Override
-// public String toString() {
-// return this.getClass().getName() + "[" + getName() + "]";
-// }
+ @Override
+ public String toString() {
+ return this.getClass().getName() + "[" + getName() + "]";
+ }
}
Modified: logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/jmx/JMXConfigurator.java
==============================================================================
--- logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/jmx/JMXConfigurator.java (original)
+++ logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/jmx/JMXConfigurator.java Wed Nov 12 16:26:28 2008
@@ -56,39 +56,42 @@
MBeanServer mbs;
ObjectName objectName;
String objectNameAsString;
-
+
+ // whether to output status events on the console when reloading the
+ // configuration
+ boolean debug = true;
+
boolean started;
- @Override
- public void finalize() {
- System.out.println("....... finalize() "+this);
- }
-
public JMXConfigurator(LoggerContext loggerContext, MBeanServer mbs,
ObjectName objectName) {
- System.out.println("....... constructor() "+this);
started = true;
this.context = loggerContext;
this.loggerContext = loggerContext;
this.mbs = mbs;
this.objectName = objectName;
this.objectNameAsString = objectName.toString();
- removePreviousInstanceAsListener();
- loggerContext.addListener(this);
-
+ if (previouslyRegisteredListenerWithSameObjectName()) {
+ addError("Previously registered JMXConfigurator named ["
+ + objectNameAsString + "] in the logger context named ["
+ + loggerContext.getName() + "]");
+ } else {
+ // register as a listener only if there are no homonyms
+ loggerContext.addListener(this);
+ }
}
- private void removePreviousInstanceAsListener() {
+ private boolean previouslyRegisteredListenerWithSameObjectName() {
List<LoggerContextListener> lcll = loggerContext.getCopyOfListenerList();
for (LoggerContextListener lcl : lcll) {
if (lcl instanceof JMXConfigurator) {
JMXConfigurator jmxConfigurator = (JMXConfigurator) lcl;
if (objectName.equals(jmxConfigurator.objectName)) {
- addInfo("Removing previous JMXConfigurator from the logger context listener list");
- loggerContext.removeListener(lcl);
+ return true;
}
}
}
+ return false;
}
public void reloadDefaultConfiguration() throws JoranException {
@@ -121,23 +124,31 @@
StatusManager sm = loggerContext.getStatusManager();
sm.add(statusListener);
}
-
+
+ void removeStatusListener(StatusListener statusListener) {
+ StatusManager sm = loggerContext.getStatusManager();
+ sm.remove(statusListener);
+ }
+
public void reloadByURL(URL url) throws JoranException {
StatusListenerAsList statusListenerAsList = new StatusListenerAsList();
addStatusListener(statusListenerAsList);
addInfo("Resetting context: " + loggerContext.getName());
loggerContext.reset();
+ // after a reset the statusListenerAsList gets removed as a listener
addStatusListener(statusListenerAsList);
-
try {
JoranConfigurator configurator = new JoranConfigurator();
configurator.setContext(loggerContext);
configurator.doConfigure(url);
addInfo("Context: " + loggerContext.getName() + " reloaded.");
} finally {
- StatusPrinter.print(statusListenerAsList.getStatusList());
+ removeStatusListener(statusListenerAsList);
+ if (debug) {
+ StatusPrinter.print(statusListenerAsList.getStatusList());
+ }
}
}
@@ -219,23 +230,23 @@
}
/**
- * When the associated LoggerContext is reset, this configurator must be
+ * When the associated LoggerContext is stopped, this configurator must be
* unregistered
*/
- public void onReset(LoggerContext context) {
- if(!started) {
- addInfo("onReset() method called on a stopped JMXActivator [" + objectNameAsString + "]");;
+ public void onStop(LoggerContext context) {
+ if (!started) {
+ addInfo("onStop() method called on a stopped JMXActivator ["
+ + objectNameAsString + "]");
+ return;
}
- System.out.println("Unregistering JMXConfigurator");
-
if (mbs.isRegistered(objectName)) {
try {
addInfo("Unregistering mbean [" + objectNameAsString + "]");
mbs.unregisterMBean(objectName);
} catch (InstanceNotFoundException e) {
// this is theoretically impossible
- addError("Unable to find a verifiably registered mbean [" + objectNameAsString
- + "]", e);
+ addError("Unable to find a verifiably registered mbean ["
+ + objectNameAsString + "]", e);
} catch (MBeanRegistrationException e) {
addError("Failed to unregister [" + objectNameAsString + "]", e);
}
@@ -245,9 +256,21 @@
}
stop();
}
-
+
+ public void onReset(LoggerContext context) {
+ addInfo("onReset() method called JMXActivator [" + objectNameAsString + "]");
+ }
+
+ /**
+ * JMXConfigrator should not be removed subsequent to a LoggerContext reset.
+ *
+ * @return
+ */
+ public boolean isResetResistant() {
+ return true;
+ }
+
private void clearFields() {
- System.out.println("Clearing fields");
mbs = null;
objectName = null;
loggerContext = null;
@@ -257,12 +280,13 @@
started = false;
clearFields();
}
+
public void onStart(LoggerContext context) {
// nop
}
-// @Override
-// public String toString() {
-// return this.getClass().getName() + "(" + context.getName() + ")";
-// }
+ @Override
+ public String toString() {
+ return this.getClass().getName() + "(" + context.getName() + ")";
+ }
}
Modified: logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/jmx/MBeanUtil.java
==============================================================================
--- logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/jmx/MBeanUtil.java (original)
+++ logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/jmx/MBeanUtil.java Wed Nov 12 16:26:28 2008
@@ -9,8 +9,6 @@
*/
package ch.qos.logback.classic.jmx;
-import java.lang.management.ManagementFactory;
-
import javax.management.InstanceNotFoundException;
import javax.management.MBeanRegistrationException;
import javax.management.MBeanServer;
@@ -25,8 +23,8 @@
static final String DOMAIN = "ch.qos.logback.classic";
- static public String getObjectNameFor(Context context, Class type) {
- String objectNameAsStr = DOMAIN + ":Name=" + context.getName() + ",Type="
+ static public String getObjectNameFor(String contextName, Class type) {
+ String objectNameAsStr = DOMAIN + ":Name=" + contextName + ",Type="
+ type.getName();
return objectNameAsStr;
}
@@ -46,25 +44,17 @@
}
}
- public static JMXConfigurator register(LoggerContext loggerContext,
- ObjectName objectName, Object caller) {
- try {
- MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
-
- JMXConfigurator jmxConfigurator = new JMXConfigurator(loggerContext, mbs,
- objectName);
+ public static boolean isRegistered(MBeanServer mbs, ObjectName objectName) {
+ return mbs.isRegistered(objectName);
+ }
- if (mbs.isRegistered(objectName)) {
- StatusUtil.addWarn(loggerContext, caller,
- "Unregistering existing MBean named ["
- + objectName.getCanonicalName() + "]");
- mbs.unregisterMBean(objectName);
- }
+ public static void createAndRegisterJMXConfigurator(
+ MBeanServer mbs, LoggerContext loggerContext,
+ JMXConfigurator jmxConfigurator, ObjectName objectName, Object caller) {
+ try {
mbs.registerMBean(jmxConfigurator, objectName);
- return jmxConfigurator;
} catch (Exception e) {
StatusUtil.addError(loggerContext, caller, "Failed to create mbean", e);
- return null;
}
}
Modified: logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/joran/action/JMXConfiguratorAction.java
==============================================================================
--- logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/joran/action/JMXConfiguratorAction.java (original)
+++ logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/joran/action/JMXConfiguratorAction.java Wed Nov 12 16:26:28 2008
@@ -1,5 +1,8 @@
package ch.qos.logback.classic.joran.action;
+import java.lang.management.ManagementFactory;
+
+import javax.management.MBeanServer;
import javax.management.ObjectName;
import org.xml.sax.Attributes;
@@ -15,7 +18,7 @@
public class JMXConfiguratorAction extends Action {
static final String OBJECT_NAME_ATTRIBUTE_NAME = "objectName";
- static final String SUFFIX_ATTRIBUTE_NAME = "suffix";
+ static final String CONTEXT_NAME_ATTRIBUTE_NAME = "contextName";
static final char JMX_NAME_SEPARATOR = ',';
@Override
@@ -23,31 +26,44 @@
throws ActionException {
addInfo("begin");
+
+ String contextName = context.getName();
+ String contextNameAttributeVal = attributes
+ .getValue(CONTEXT_NAME_ATTRIBUTE_NAME);
+ if(!OptionHelper.isEmpty(contextNameAttributeVal)) {
+ contextName = contextNameAttributeVal;
+ }
+
String objectNameAsStr;
String objectNameAttributeVal = attributes
.getValue(OBJECT_NAME_ATTRIBUTE_NAME);
- String suffixAttributeVal = attributes
- .getValue(SUFFIX_ATTRIBUTE_NAME);
-
if (OptionHelper.isEmpty(objectNameAttributeVal)) {
- objectNameAsStr = MBeanUtil.getObjectNameFor((LoggerContext) context,
+ objectNameAsStr = MBeanUtil.getObjectNameFor(contextName,
JMXConfigurator.class);
} else {
objectNameAsStr = objectNameAttributeVal;
}
- if(!OptionHelper.isEmpty(suffixAttributeVal)) {
- if(suffixAttributeVal.indexOf(0) != JMX_NAME_SEPARATOR) {
- objectNameAsStr += JMX_NAME_SEPARATOR;
- }
- objectNameAsStr += suffixAttributeVal;
- }
-
ObjectName objectName = MBeanUtil.string2ObjectName(context, this,
objectNameAsStr);
-
- if (objectName != null) {
- MBeanUtil.register((LoggerContext) context, objectName, this);
+ if (objectName == null) {
+ addError("Failed to for ObjectName for ["+objectNameAsStr+"]");
+ return;
+ }
+
+ MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
+ if(!MBeanUtil.isRegistered(mbs, objectName)) {
+ // register only of the named JMXConfigurator has not been previously
+ // registered. Unregistering an MBean within invocation of itself
+ // caused jconsole to throw an NPE. (This occurs when the reload* method
+ // unregisters the
+ JMXConfigurator jmxConfigurator = new JMXConfigurator((LoggerContext) context, mbs,
+ objectName);
+ try {
+ mbs.registerMBean(jmxConfigurator, objectName);
+ } catch (Exception e) {
+ addError("Failed to create mbean", e);
+ }
}
}
Modified: logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/selector/servlet/ContextDetachingSCL.java
==============================================================================
--- logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/selector/servlet/ContextDetachingSCL.java (original)
+++ logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/selector/servlet/ContextDetachingSCL.java Wed Nov 12 16:26:28 2008
@@ -42,8 +42,9 @@
LoggerContext context = selector.detachLoggerContext(loggerContextName);
if (context != null) {
Logger logger = context.getLogger(LoggerContext.ROOT_NAME);
- logger.warn("Shutting down context " + loggerContextName);
- context.reset();
+ logger.warn("Stopping logger context " + loggerContextName);
+ // when the web-app is destroyed, its logger context should be stopped
+ context.stop();
} else {
System.out.println("No context named " + loggerContextName + " was found.");
}
Modified: logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/spi/LoggerContextListener.java
==============================================================================
--- logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/spi/LoggerContextListener.java (original)
+++ logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/spi/LoggerContextListener.java Wed Nov 12 16:26:28 2008
@@ -13,7 +13,14 @@
public interface LoggerContextListener {
- public void onReset(LoggerContext context);
- public void onStart(LoggerContext context);
+ /**
+ * Some listeners should not be removed when the LoggerContext is
+ * reset. Such listeners are said to be reset resistant.
+ * @return whether this listener is reset resistant or not.
+ */
+ public boolean isResetResistant();
+ public void onStart(LoggerContext context);
+ public void onReset(LoggerContext context);
+ public void onStop(LoggerContext context);
}
Modified: logback/trunk/logback-classic/src/test/java/ch/qos/logback/classic/TurboFilteringInLoggerTest.java
==============================================================================
--- logback/trunk/logback-classic/src/test/java/ch/qos/logback/classic/TurboFilteringInLoggerTest.java (original)
+++ logback/trunk/logback-classic/src/test/java/ch/qos/logback/classic/TurboFilteringInLoggerTest.java Wed Nov 12 16:26:28 2008
@@ -14,7 +14,7 @@
LoggerContext context;
Logger logger;
Marker blueMarker = MarkerFactory.getMarker(BLUE);
-
+
@Override
protected void setUp() throws Exception {
super.setUp();
@@ -40,7 +40,7 @@
filter.start();
context.addTurboFilter(filter);
}
-
+
private void addAcceptBLUEFilter() {
MarkerFilter filter = new MarkerFilter();
filter.setMarker(BLUE);
@@ -48,7 +48,7 @@
filter.start();
context.addTurboFilter(filter);
}
-
+
private void addDenyBLUEFilter() {
MarkerFilter filter = new MarkerFilter();
filter.setMarker(BLUE);
@@ -56,8 +56,6 @@
filter.start();
context.addTurboFilter(filter);
}
-
-
public void testIsDebugEnabledWithYesFilter() {
addYesFilter();
@@ -131,13 +129,13 @@
assertFalse(logger.isDebugEnabled(blueMarker));
}
- public void testLoggingContextShutdownAndReset() {
+ public void testLoggingContextReset() {
addYesFilter();
assertNotNull(context.getTurboFilterList().get(0));
context.reset();
assertEquals(0, context.getTurboFilterList().size());
}
-
+
}
class YesFilter extends TurboFilter {
Modified: logback/trunk/logback-classic/src/test/java/ch/qos/logback/classic/db/DBAppenderIntegrationTest.java
==============================================================================
--- logback/trunk/logback-classic/src/test/java/ch/qos/logback/classic/db/DBAppenderIntegrationTest.java (original)
+++ logback/trunk/logback-classic/src/test/java/ch/qos/logback/classic/db/DBAppenderIntegrationTest.java Wed Nov 12 16:26:28 2008
@@ -46,7 +46,8 @@
@After
public void tearDown() throws Exception {
- lc.reset();
+ // lc will never be used again
+ lc.stop();
}
public void doTest(String configFile) throws JoranException {
Modified: logback/trunk/logback-classic/src/test/java/ch/qos/logback/classic/jmx/JMXConfiguratorTest.java
==============================================================================
--- logback/trunk/logback-classic/src/test/java/ch/qos/logback/classic/jmx/JMXConfiguratorTest.java (original)
+++ logback/trunk/logback-classic/src/test/java/ch/qos/logback/classic/jmx/JMXConfiguratorTest.java Wed Nov 12 16:26:28 2008
@@ -2,6 +2,7 @@
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
@@ -23,21 +24,23 @@
public class JMXConfiguratorTest {
- static MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
+ MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
LoggerContext lc = new LoggerContext();
Logger testLogger = lc.getLogger(this.getClass());
List<LoggerContextListener> listenerList;
int diff = RandomUtil.getPositiveInt();
+
@Before
public void setUp() throws Exception {
lc.setName("context-" + diff);
+ assertNotNull(mbs);
}
@After
public void tearDown() throws Exception {
- lc.reset();
+ lc.stop();
}
@Override
@@ -46,45 +49,69 @@
}
@Test
- public void contextListening() {
- String objectNameAsStr = "ch.qos.logback.toto" + ":Name=" + lc.getName()
+ public void contextReset() throws Exception {
+ String randomizedObjectNameAsStr = "ch.qos.logback."+diff + ":Name=" + lc.getName()
+ ",Type=" + this.getClass().getName();
- ObjectName on = MBeanUtil.string2ObjectName(lc, this, objectNameAsStr);
- MBeanUtil.register(lc, on, this);
+ ObjectName objectName = MBeanUtil.string2ObjectName(lc, this, randomizedObjectNameAsStr);
+ JMXConfigurator jmxConfigurator = new JMXConfigurator(lc, mbs, objectName);
+ mbs.registerMBean(jmxConfigurator, objectName);
+
listenerList = lc.getCopyOfListenerList();
assertEquals(1, listenerList.size());
+
lc.reset();
+
+ // check that after lc.reset, jmxConfigurator should still be
+ // registered as a listener in the loggerContext and also as an
+ // MBean in mbs
listenerList = lc.getCopyOfListenerList();
- assertEquals(0, listenerList.size());
+ assertEquals(1, listenerList.size());
+ assertTrue(listenerList.contains(jmxConfigurator));
- MBeanUtil.register(lc, on, this);
+ assertTrue(mbs.isRegistered(objectName));
+ }
+
+ @Test
+ public void contextStop() throws Exception {
+ String randomizedObjectNameAsStr = "ch.qos.logback."+diff + ":Name=" + lc.getName()
+ + ",Type=" + this.getClass().getName();
+
+ ObjectName objectName = MBeanUtil.string2ObjectName(lc, this, randomizedObjectNameAsStr);
+ JMXConfigurator jmxConfigurator = new JMXConfigurator(lc, mbs, objectName);
+ mbs.registerMBean(jmxConfigurator, objectName);
+
listenerList = lc.getCopyOfListenerList();
assertEquals(1, listenerList.size());
+
+ lc.stop();
+
+ // check that after lc.stop, jmxConfigurator is no longer
+ // registered as a listener in the loggerContext nor as an
+ // MBean in mbs
+ listenerList = lc.getCopyOfListenerList();
+ assertEquals(0, listenerList.size());
+ assertFalse(mbs.isRegistered(objectName));
}
@Test
- public void testRemovalOfPreviousIntanceFromTheContextListenerList() {
+ public void testNonRemovalOfPreviousIntanceFromTheContextListenerList() {
String objectNameAsStr = "ch.qos.logback.toto" + ":Name=" + lc.getName()
+ ",Type=" + this.getClass().getName();
-
- ObjectName on = MBeanUtil.string2ObjectName(lc, this, objectNameAsStr);
- JMXConfigurator jmxConfigurator0 = MBeanUtil.register(lc, on, this);
-
+ ObjectName objectName = MBeanUtil.string2ObjectName(lc, this, objectNameAsStr);
+ JMXConfigurator jmxConfigurator0 = new JMXConfigurator(lc, mbs, objectName);
+
listenerList = lc.getCopyOfListenerList();
- assertEquals(1, listenerList.size());
assertTrue(listenerList.contains(jmxConfigurator0));
- JMXConfigurator jmxConfigurator1 = MBeanUtil.register(lc, on, this);
+ JMXConfigurator jmxConfigurator1 = new JMXConfigurator(lc, mbs, objectName);
listenerList = lc.getCopyOfListenerList();
assertEquals(1, listenerList.size());
- assertFalse("old configurator should be absent", listenerList
+ assertTrue("old configurator should be present", listenerList
.contains(jmxConfigurator0));
- assertTrue("new configurator should be present", listenerList
+ assertFalse("new configurator should be absent", listenerList
.contains(jmxConfigurator1));
-
- // StatusPrinter.print(lc);
}
@Test
Modified: logback/trunk/logback-classic/src/test/java/ch/qos/logback/classic/spi/BasicContextListener.java
==============================================================================
--- logback/trunk/logback-classic/src/test/java/ch/qos/logback/classic/spi/BasicContextListener.java (original)
+++ logback/trunk/logback-classic/src/test/java/ch/qos/logback/classic/spi/BasicContextListener.java Wed Nov 12 16:26:28 2008
@@ -4,16 +4,33 @@
public class BasicContextListener implements LoggerContextListener {
- boolean updated = false;
+ enum UpdateType { NONE, START, RESET, STOP};
+
+ UpdateType updateType = UpdateType.NONE;
LoggerContext context;
+ boolean resetResistant;
+
+ public void setResetResistant(boolean resetResistant) {
+ this.resetResistant = resetResistant;
+ }
+
public void onReset(LoggerContext context) {
- updated = true;
+ updateType = UpdateType.RESET;
this.context = context;
}
public void onStart(LoggerContext context) {
- updated = true;
+ updateType = UpdateType.START;;
this.context = context;
}
+
+ public void onStop(LoggerContext context) {
+ updateType = UpdateType.STOP;;
+ this.context = context;
+ }
+
+ public boolean isResetResistant() {
+ return resetResistant;
+ }
}
Modified: logback/trunk/logback-classic/src/test/java/ch/qos/logback/classic/spi/ContextListenerTest.java
==============================================================================
--- logback/trunk/logback-classic/src/test/java/ch/qos/logback/classic/spi/ContextListenerTest.java (original)
+++ logback/trunk/logback-classic/src/test/java/ch/qos/logback/classic/spi/ContextListenerTest.java Wed Nov 12 16:26:28 2008
@@ -2,6 +2,7 @@
import junit.framework.TestCase;
import ch.qos.logback.classic.LoggerContext;
+import ch.qos.logback.classic.spi.BasicContextListener.UpdateType;
public class ContextListenerTest extends TestCase {
@@ -17,13 +18,27 @@
public void testNotifyOnReset() {
context.reset();
- assertTrue(listener.updated);
+ assertEquals(UpdateType.RESET, listener.updateType);
assertEquals(listener.context, context);
}
+
+ public void testNotifyOnStopResistant() {
+ listener.setResetResistant(true);
+ context.stop();
+ assertEquals(UpdateType.STOP, listener.updateType);
+ assertEquals(listener.context, context);
+ }
+
+ public void testNotifyOnStopNotResistant() {
+ context.stop();
+ assertEquals(UpdateType.RESET, listener.updateType);
+ assertEquals(listener.context, context);
+ }
+
public void testNotifyOnStart() {
context.start();
- assertTrue(listener.updated);
+ assertEquals(UpdateType.START, listener.updateType);
assertEquals(listener.context, context);
}
}
Modified: logback/trunk/logback-classic/src/test/java/ch/qos/logback/classic/util/InitializationTest.java
==============================================================================
--- logback/trunk/logback-classic/src/test/java/ch/qos/logback/classic/util/InitializationTest.java (original)
+++ logback/trunk/logback-classic/src/test/java/ch/qos/logback/classic/util/InitializationTest.java Wed Nov 12 16:26:28 2008
@@ -46,7 +46,7 @@
public void tearDown() throws Exception {
System.clearProperty(ContextInitializer.CONFIG_FILE_PROPERTY);
System.clearProperty(ContextInitializer.STATUS_LISTENER_CLASS);
- lc.reset();
+ lc.reset(); // we are going to need this context
}
@Test
@@ -73,7 +73,7 @@
assertTrue(appender instanceof ConsoleAppender);
}
{
- lc.reset();
+ lc.stop();
Appender appender = root.getAppender("STDOUT");
assertNull(appender);
}
@@ -88,7 +88,7 @@
}
public void doAutoConfigFromSystemProperties(String val) throws JoranException {
- //lc.shutdownAndReset();
+ //lc.reset();
System.setProperty(ContextInitializer.CONFIG_FILE_PROPERTY, val);
new ContextInitializer(lc).autoConfig();
Appender appender = root.getAppender("AUTO_BY_SYSTEM_PROPERTY");
Modified: logback/trunk/logback-examples/src/main/java/chapter4/ExitWoes2.java
==============================================================================
--- logback/trunk/logback-examples/src/main/java/chapter4/ExitWoes2.java (original)
+++ logback/trunk/logback-examples/src/main/java/chapter4/ExitWoes2.java Wed Nov 12 16:26:28 2008
@@ -42,7 +42,7 @@
logger.debug("Hello world.");
- lc.reset();
+ lc.stop();
StatusPrinter.print(lc);
}
Modified: logback/trunk/logback-examples/src/main/java/chapter4/socket/SocketClient2.java
==============================================================================
--- logback/trunk/logback-examples/src/main/java/chapter4/socket/SocketClient2.java (original)
+++ logback/trunk/logback-examples/src/main/java/chapter4/socket/SocketClient2.java Wed Nov 12 16:26:28 2008
@@ -45,7 +45,7 @@
if (configFile.endsWith(".xml")) {
LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory();
JoranConfigurator configurator = new JoranConfigurator();
- lc.reset();
+ lc.stop();
configurator.setContext(lc);
configurator.doConfigure(configFile);
}
Modified: logback/trunk/logback-examples/src/main/java/chapter7/SimpleMDC.java
==============================================================================
--- logback/trunk/logback-examples/src/main/java/chapter7/SimpleMDC.java (original)
+++ logback/trunk/logback-examples/src/main/java/chapter7/SimpleMDC.java Wed Nov 12 16:26:28 2008
@@ -80,7 +80,7 @@
try {
JoranConfigurator configurator = new JoranConfigurator();
configurator.setContext(lc);
- lc.reset();
+ lc.stop();
URL url = Loader.getResourceBySelfClassLoader("chapter7/simpleMDC.xml");
configurator.doConfigure(url);
} catch (JoranException je) {
Modified: logback/trunk/logback-site/src/site/pages/manual/appenders.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/manual/appenders.html (original)
+++ logback/trunk/logback-site/src/site/pages/manual/appenders.html Wed Nov 12 16:26:28 2008
@@ -306,7 +306,7 @@
public static void main(String[] args) throws Exception {
LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory();
- lc.shutdownAndReset(); // we want to override the default-config.
+ lc.reset(); // we want to override the default-config.
WriterAppender<LoggingEvent> writerAppender = new WriterAppender<LoggingEvent>();
writerAppender.setContext(lc);
writerAppender.setLayout(new EchoLayout<<LoggingEvent>());
@@ -335,7 +335,7 @@
the underlying output stream. As astonishing as this may seem,
running <code>ExitWoes1</code> will not produce any data in the file
<em>exitWoes1.log</em> because the Java VM does not flush output
- streams when it exits. Calling the <code>shutdownAndReset()</code>
+ streams when it exits. Calling the <code>stop()</code>
method of a <code>LoggerContext</code> ensures that all appenders in
the hierarchy are closed and their buffers are flushed. The <code><a
href="../xref/chapter4/ExitWoes2.html">ExitWoes2</a></code> class
@@ -1212,31 +1212,34 @@
lost due to server unavailability.
</p>
- <p>
- Even if a <code>SocketAppender</code> is no longer attached to any logger,
- it will not be garbage collected in the presence of a connector thread.
- A connector thread exists only if the connection to the server is down.
- To avoid this garbage collection problem, you should close the <code>SocketAppender</code>
- explicitly. Long lived applications which create/destroy many
- <code>SocketAppender</code> instances should be aware of this
- garbage collection problem. Most other applications can safely ignore it.
- If the JVM hosting the <code>SocketAppender</code> exits before the
- <code>SocketAppender</code> is closed, either explicitly or subsequent
- to garbage collection, then there might be untransmitted data in the
- pipe which may be lost. This is a common problem on Windows based systems.
- To avoid lost data, it is usually sufficient to <code>close()</code> the
- <code>SocketAppender</code> either explicitly or by calling the
- <code>LoggerContext</code>'s <code>shutdownAndReset()</code> method before exiting the application.
- </p>
-
- <p>
- The remote server is identified by the <span class="option">RemoteHost</span> and
- <span class="option">Port</span> options.
- <code>SocketAppender</code> options are listed in the following table.
+ <p>Even if a <code>SocketAppender</code> is no longer attached to
+ any logger, it will not be garbage collected in the presence of a
+ connector thread. A connector thread exists only if the
+ connection to the server is down. To avoid this garbage
+ collection problem, you should close the
+ <code>SocketAppender</code> explicitly. Long lived applications
+ which create/destroy many <code>SocketAppender</code> instances
+ should be aware of this garbage collection problem. Most other
+ applications can safely ignore it. If the JVM hosting the
+ <code>SocketAppender</code> exits before the
+ <code>SocketAppender</code> is closed, either explicitly or
+ subsequent to garbage collection, then there might be
+ untransmitted data in the pipe which may be lost. This is a common
+ problem on Windows based systems. To avoid lost data, it is
+ usually sufficient to <code>close()</code> the
+ <code>SocketAppender</code> either explicitly or by calling the
+ <code>LoggerContext</code>'s <code>stop()</code>
+ method before exiting the application.
+ </p>
+
+ <p>The remote server is identified by the <span
+ class="option">RemoteHost</span> and <span
+ class="option">Port</span> options. <code>SocketAppender</code>
+ options are listed in the following table.
</p>
- <table class="bodyTable">
- <tr class="a">
+ <table class="bodyTable">
+ <tr class="a">
<th>Option Name</th>
<th>Type</th>
<th>Description</th>
Modified: logback/trunk/logback-site/src/site/pages/manual/jmxConfig.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/manual/jmxConfig.html (original)
+++ logback/trunk/logback-site/src/site/pages/manual/jmxConfig.html Wed Nov 12 16:26:28 2008
@@ -12,9 +12,7 @@
<title>JMX Configuration</title>
</head>
<body>
- <script type="text/javascript">
- prefix='../';
- </script>
+ <script type="text/javascript">prefix='../';</script>
<script src="../templates/header.js" type="text/javascript"></script>
<div id="left">
<script src="../templates/left.js" type="text/javascript"></script>
@@ -46,7 +44,7 @@
your logback configuration file, as shown below:
</p>
-<div class="source"><pre><configuration>
+ <p class="source"><configuration>
<b><jmxConfigurator /></b>
<appender name="console" class="ch.qos.logback.classic.ConsoleAppender">
@@ -59,7 +57,7 @@
<level value="debug"/>
<appender-ref ref="console" />
</root>
-</configuration></pre></div>
+</configuration></p>
<p>After you connect to your server with <em>jconsole</em>, on the
MBeans panel, under "ch.qos.logback.classic.jmx.Configurator"
@@ -126,7 +124,7 @@
public void contextDestroyed(ServletContextEvent sce) {
<b>LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory();</b>
- <b>lc.reset();</b>
+ <b>lc.stop();</b>
}
public void contextInitialized(ServletContextEvent sce) {
@@ -134,10 +132,6 @@
} </p>
-
-
-
-
<!-- ============ Multiple web-applications ================== -->
Modified: logback/trunk/logback-site/src/site/pages/manual/joran.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/manual/joran.html (original)
+++ logback/trunk/logback-site/src/site/pages/manual/joran.html Wed Nov 12 16:26:28 2008
@@ -383,7 +383,7 @@
configurator.setContext(lc);
// the context was probably already configured by default configuration
// rules
- lc.shutdownAndReset();
+ lc.reset();
configurator.doConfigure(args[0]);
} catch (JoranException je) {
je.printStackTrace();
Modified: logback/trunk/logback-site/src/site/pages/manual/mdc.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/manual/mdc.html (original)
+++ logback/trunk/logback-site/src/site/pages/manual/mdc.html Wed Nov 12 16:26:28 2008
@@ -365,7 +365,7 @@
LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory();
JoranConfigurator configurator = new JoranConfigurator();
configurator.setContext(lc);
- lc.shutdownAndReset();
+ lc.reset();
configurator.doConfigure(args[0]);
} catch (JoranException je) {
je.printStackTrace();
Modified: logback/trunk/logback-site/src/site/pages/news.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/news.html (original)
+++ logback/trunk/logback-site/src/site/pages/news.html Wed Nov 12 16:26:28 2008
@@ -135,8 +135,8 @@
<p>The TurboFilterChain in a LoggerContext is <a
href="http://svn.qos.ch/viewvc?view=rev&revision=1678">now
- cleared</a> when the shutdownAndReset method is called. This problem
- was reported on May 1st, 2008, by Julia Hu on the logback
+ cleared</a> when the <code>reset</code>() method is called. This
+ problem was reported on May 1st, 2008, by Julia Hu on the logback
developpers list.
</p>
1
0
[JIRA] Commented: (LBCORE-18) classloader for loading autoConfig configuration resource
by Paul Nyheim (JIRA) 12 Nov '08
by Paul Nyheim (JIRA) 12 Nov '08
12 Nov '08
[ http://jira.qos.ch/browse/LBCORE-18?page=com.atlassian.jira.plugin.system.i⦠]
Paul Nyheim commented on LBCORE-18:
-----------------------------------
What is the status of this blocking issue?
> classloader for loading autoConfig configuration resource
> ---------------------------------------------------------
>
> Key: LBCORE-18
> URL: http://jira.qos.ch/browse/LBCORE-18
> Project: logback-core
> Issue Type: Bug
> Components: Other
> Affects Versions: unspecified
> Environment: Operating System: Windows
> Platform: PC
> Reporter: Filip JirsƔk
> Assignee: Logback dev list
> Priority: Blocker
> Attachments: classloader.patch
>
>
> ContextInitializer.autoConfig(LoggerContext) uses current thread context ClassLoader (TCL) nowadays - it calls Thread.currentThread().getContextClassLoader(). Sometimes this classloader has no access to logback classes - for example TCL is parent of classloader, which loaded current class, in oc4j (Oracle J2EE container) at the time of starting servlet container. So logback-*.jar are in WEB-INF/lib directory, but TCL has no access to these jars and to files in WEB-INF/classes.
> I think ContextInitializer.autoConfig(LoggerContext) should try this.getClass().getClassLoader() first and only if it fails it should use Thread.currentThread().getContextClassLoader().
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.qos.ch/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
1
0
[JIRA] Created: (LBCLASSIC-84) Backslashes (Windows) cause issues with rolling
by Mike Boyers (JIRA) 12 Nov '08
by Mike Boyers (JIRA) 12 Nov '08
12 Nov '08
Backslashes (Windows) cause issues with rolling
-----------------------------------------------
Key: LBCLASSIC-84
URL: http://jira.qos.ch/browse/LBCLASSIC-84
Project: logback-classic
Issue Type: Bug
Affects Versions: unspecified
Environment: Windows
Reporter: Mike Boyers
Assignee: Logback dev list
This may be a duplicate of LBCLASSIC-56, but I wasn't sure, so I went ahead and created this issue.
On windows, my logs failed to roll when I used a "windows-looking" absolute path when calling the rolling policy's setFileNamePattern() method. If I use forward slashes instead of backwards slashes, it works fine.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.qos.ch/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
2
5
svn commit: r1961 - in logback/trunk/logback-site/src/site/pages: . css manual templates
by noreply.cekiļ¼ qos.ch 11 Nov '08
by noreply.cekiļ¼ qos.ch 11 Nov '08
11 Nov '08
Author: ceki
Date: Tue Nov 11 17:54:39 2008
New Revision: 1961
Removed:
logback/trunk/logback-site/src/site/pages/manual/profilers.html
Modified:
logback/trunk/logback-site/src/site/pages/bridge.html
logback/trunk/logback-site/src/site/pages/bugreport.html
logback/trunk/logback-site/src/site/pages/codes.html
logback/trunk/logback-site/src/site/pages/css/common.css
logback/trunk/logback-site/src/site/pages/demo.html
logback/trunk/logback-site/src/site/pages/download.html
logback/trunk/logback-site/src/site/pages/license.html
logback/trunk/logback-site/src/site/pages/manual/appenders.html
logback/trunk/logback-site/src/site/pages/manual/architecture.html
logback/trunk/logback-site/src/site/pages/manual/introduction.html
logback/trunk/logback-site/src/site/pages/manual/layouts.html
logback/trunk/logback-site/src/site/pages/manual/underTheHood.html
logback/trunk/logback-site/src/site/pages/setup.html
logback/trunk/logback-site/src/site/pages/team.html
logback/trunk/logback-site/src/site/pages/templates/footer.js
Log:
ensure that html documents are valid XHTML
Modified: logback/trunk/logback-site/src/site/pages/bridge.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/bridge.html (original)
+++ logback/trunk/logback-site/src/site/pages/bridge.html Tue Nov 11 17:54:39 2008
@@ -3,8 +3,11 @@
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<title>Log4j Bridge</title>
-<link rel="stylesheet" type="text/css" media="screen" href="css/site.css" />
-<link rel="stylesheet" type="text/css" media="print" href="css/print.css" />
+
+ <link rel="stylesheet" type="text/css" href="css/common.css" />
+ <link rel="stylesheet" type="text/css" href="css/screen.css" media="screen" />
+ <link rel="stylesheet" type="text/css" href="css/_print.css" media="print" />
+
</head>
<body>
Modified: logback/trunk/logback-site/src/site/pages/bugreport.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/bugreport.html (original)
+++ logback/trunk/logback-site/src/site/pages/bugreport.html Tue Nov 11 17:54:39 2008
@@ -9,11 +9,11 @@
<link rel="stylesheet" type="text/css" href="css/_print.css" media="print" />
</head>
<body>
- <script>prefix='';</script>
+ <script type="text/javascript">prefix='';</script>
- <script src="templates/header.js"></script>
+ <script src="templates/header.js" type="text/javascript"></script>
<div id="left">
- <script src="templates/left.js"></script>
+ <script src="templates/left.js" type="text/javascript"></script>
</div>
<div id="content">
@@ -85,7 +85,7 @@
new logback bug</a></li>
</ul>
- <script src="templates/footer.js"></script>
+ <script src="templates/footer.js" type="text/javascript"></script>
</div>
</body>
</html>
Modified: logback/trunk/logback-site/src/site/pages/codes.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/codes.html (original)
+++ logback/trunk/logback-site/src/site/pages/codes.html Tue Nov 11 17:54:39 2008
@@ -1,22 +1,22 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
-<title>Logback Error Codes</title>
-<link rel="stylesheet" type="text/css" media="screen" href="css/site.css" />
-</head>
-
-<body>
- <script>
- prefix='';
- </script>
+ <head>
+ <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
+ <title>Logback Error Codes</title>
- <script src="templates/header.js"></script>
+ <link rel="stylesheet" type="text/css" href="css/common.css" />
+ <link rel="stylesheet" type="text/css" href="css/screen.css" media="screen" />
+ <link rel="stylesheet" type="text/css" href="css/_print.css" media="print" />
+
+ </head>
+
+ <body>
+ <script type="text/javascript">prefix='';</script>
+
+ <script src="templates/header.js" type="text/javascript"></script>
<div id="left">
- <script src="templates/left.js"></script>
- </div>
- <div id="right">
- <script src="templates/right.js"></script>
+ <script src="templates/left.js" type="text/javascript"></script>
</div>
<div id="content">
@@ -268,7 +268,7 @@
<hr/>
- <script src="templates/footer.js"></script>
+ <script src="templates/footer.js" type="text/javascript"></script>
</div>
</body>
</html>
Modified: logback/trunk/logback-site/src/site/pages/css/common.css
==============================================================================
--- logback/trunk/logback-site/src/site/pages/css/common.css (original)
+++ logback/trunk/logback-site/src/site/pages/css/common.css Tue Nov 11 17:54:39 2008
@@ -75,8 +75,11 @@
font-size: medium;
}
+table.footer {
+ width: 100%;
+}
+
.footer {
- text-align: right;
color: #564b47;
background-color: #fff;
padding:0px;
Modified: logback/trunk/logback-site/src/site/pages/demo.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/demo.html (original)
+++ logback/trunk/logback-site/src/site/pages/demo.html Tue Nov 11 17:54:39 2008
@@ -32,21 +32,21 @@
client and issue the following command on a console:
</p>
- <p class="source">svn co http://svn.qos.ch/repos/logback-demo/tags/STABLE logback-demo</p>
+ <p class="source">svn co http://svn.qos.ch/repos/logback-demo/tags/STABLE logback-demo</p>
- <p>This will checkout a copy of the logback demonstration
- web-application to a directory called <em>logback-demo</em>. The
- logback demo can be packaged as a <em>war</em> file and deployed to
- an application server. We strongly recommend the use of <a
- href="http://maven.apache.org/">Maven2</a> to accomplish this task,
- since it takes a single command in order to compile, package and run
- this demo.
- </p>
+ <p>This will checkout a copy of the logback demonstration
+ web-application to a directory called <em>logback-demo</em>. The
+ logback demo can be packaged as a <em>war</em> file and deployed
+ to an application server. We strongly recommend the use of <a
+ href="http://maven.apache.org/">Maven2</a> to accomplish this
+ task, since it takes a single command in order to compile, package
+ and run this demo.
+ </p>
- <p> Using Maven, let's package the files and run the demo for the first
- time. From the <em>logback-demo</em> directory, issue the following
- command:
- </p>
+ <p> Using Maven, let's package the files and run the demo for the first
+ time. From the <em>logback-demo</em> directory, issue the following
+ command:
+ </p>
<div class="source"><pre>mvn package jetty:run</pre></div>
@@ -377,10 +377,10 @@
page is accessed.
</p>
-<p>The configuration lines that are necessary are listed below.
-</p>
+ <p>The configuration lines that are necessary are listed below.
+ </p>
-<div class="source"><pre><appender name="STDOUT_LOTTERY"
+ <p class="source"><appender name="STDOUT_LOTTERY"
class="ch.qos.logback.core.ConsoleAppender">
<filter class="ch.qos.logback.core.filter.EvaluatorFilter">
<evaluator name="lotto_eval">
@@ -400,162 +400,90 @@
LOTTERY: %A [%r] Guess=%reqParameter{guessed_number}
</Pattern>
</layout>
-</appender></pre></div>
+</appender></p>
+
+ <p>This appender will use a <code>PatternLayout</code> to format its
+ output. The <em>%reqParameter</em> conversion word is used to
+ extract the guessed number from the request, and print it.
+ </p>
-<p>This appender will use a <code>PatternLayout</code> to format its
-output. The <em>%reqParameter</em> conversion word is used to extract
-the guessed number from the request, and print it.
-</p>
-
-<p>It also uses an <code>EvaluatorFilter</code> that will prevent the
-appender to display anything when the access' request url does not
-match the given expression. You can see that it is easy to specify a
-RegExp, name it and use it in the expression that will be
-evaluated. In that case, we only entered the name of the
-<em>lottery.do</em> action.
-</p>
-
-<p>Let us uncomment the two elements with the <em>Lottery to
-Console</em> comments and restart the server. Now, try to play the
-lottery. You will see more lines in the Console that you've seen until
-now. At every try, logback will produce a log as shown below:
-</p>
-
-<div class="source"><pre>LOTTERY: 192.168.1.6 [POST /logback-demo/Lottery.do HTTP/1.1] Guess=321</pre></div>
-
-<h4>Sending emails</h4>
-
-<p>Logback access provides several components that are usually used by
-the classic module. For example, a <code>SMTPAppender</code> can be
-used to send an email when a specific event occurs. Here, we will
-contact the lottery administrator each time a winner is detected. To
-achieve this, we will add a <code>SMTPAppender</code> to the existing
-configuration. Please uncomment the part of
-<em>logback-access.xml</em> named <em>Lottery to Email</em>. Do not
-forget to uncomment the <em>appender-ref</em> element, at the end of
-the configuration file, referencing the appender called
-<em>SMTP</em>. In the appender element, notice the use of a
-<code>URLEvaluator</code>. This evaluator allows us to only specify
-one or more URLs that have to be watched. When one of them are
-accessed, an email is sent.
-</p>
-
-<p>A reload of the configuration has to be done before we can test
-this new component. Once done, try to play the lottery with the number
-<em>99</em>. You should see a congratulation message but, most
-importantly, the specified recipients should have a new mail in their
-mailbox. The content of the email is a nicely formatted HTML table
-with informations about the access that have occured before the
-triggering event.
-</p>
-
-<h3>JMX</h3>
-
-<p>Logback publishes several components via JMX. This allows you to
-see the status of certain objects, and change several configuration
-parameters. Publishing logback's components via JMX is possible with
-Jetty and Tomcat.
-</p>
-
-<p>
-To see logback access' components, visit the following page:
-</p>
-
-<div class="source"><pre>http://localhost:8082/</pre></div>
-
-<p>The domain <em>ch.qos.logback.access.jetty</em> contains an entry
-that allows you to see the <em>RequestLogImpl</em> component. This
-component is used to plug logback in Jetty's internal
-achitecture. Clicking on it reveals the status of several parameters,
-such as the started status, and two methods are available to start and
-stop the <em>RequestLogImpl</em>.
-</p>
-
-<p>To see the influence of the available operations, place the
-terminal window and your web browser such that you can see them
-both. Stop the <em>RequestLogImlp</em> and reload a few times the main
-page of the demo. Nothing should be displayed. If you start the
-<em>RequestLogImpl</em> again, the requests will be shown in the
-terminal window.
-</p>
-
-<p>In the <em>logback-access.xml</em> configuration file, uncomment
-the <em>JMX</em> part and restart the server. A
-<code>CountingFilter</code> will now be available in the
-<em>ch.qos.logback.access</em> domain. Clicking on it will display
-several statistical figures corresponding to server accesses. Loading
-some application pages will make these figures grow and show a
-time-sensitive picture of the server activity.
-</p>
-
-
-<p>These is more to discover with logback and JMX. In the
-<em>logback.xml</em> file, placed in the <em>src/main/resources</em>
-directory, uncomment the <code>JMXConfigurator</code> element. Once
-done, restart the server.
-</p>
-
-<p>By refreshing the previously loaded JMX page, you should see a new
-component, under the domain <em>ch.qos.logback.classic</em>. It is the
-<code>JMXConfigurator</code>. Clicking on it reveals its content. Its
-possibilities are listed below:
-</p>
-
-<ul>
- <p>
- Reload the configuration using the same file that was
- previously used.
- </p>
- <p>
- Reload the configuration using a file whose path is passed as
- a parameter.
- </p>
- <p>
- Reload the configuration using a file whose URL is passed as a
- parameter.
- </p>
- <p>Get the level of a logger</p>
- <p>Change the level setting of a specified logger.</p>
- <p>Change a list of all declared loggers.</p>
- <p>Change the level setting of a specified logger.</p>
-</ul>
-
-<p> In the last case, you must specify the name of the logger you wish
- to alter, and its new level.
-</p>
-
-<p>Checking the level of a logger is an easy task. Enter the name of
-the logger in the appropriate field and click the <em>Invoke</em>
-button. You should be able to verify that the logger named
-<em>root</em> has its level set to <em>OFF</em>.
-</p>
-
-
-<p>Let us test the level setting possibility of the configurator. The
-<em>Prime Number</em> page requests two types of logs. When the
-calculation checks if a number is a factor, a <em>DEBUG</em> log is
-displayed. When the calculation has found a factor, a <em>INFO</em>
-log is displayed.
-</p>
-
-<p>Let us first set the level of the logger named
-<em>ch.qos.logback.demo.prime</em> to <em>DEBUG</em>. Run a prime
-calculation directly, without restarting the server. The <em>View
-logs</em> page should show the <em>DEBUG</em> and <em>INFO</em> logs.
-</p>
-
-<p>Now, if you set the level of the <em>ch.qos.logback.demo.prime</em>
-logger to <em>INFO</em>, and run a prime calculation again, you should
-not see the <em>DEBUG</em> level logs anymore.
-</p>
-
-<p>This demo of logback is now over. Do not hesitate to play around
-with the configuration files. You might want to check the <a
-href="http://logback.qos.ch/documentation.html"> logback documentation
-page</a> for more information about any component you'd like to test.
-</p>
+ <p>It also uses an <code>EvaluatorFilter</code> that will prevent
+ the appender to display anything when the access' request url does
+ not match the given expression. You can see that it is easy to
+ specify a RegExp, name it and use it in the expression that will be
+ evaluated. In that case, we only entered the name of the
+ <em>lottery.do</em> action.
+ </p>
+
+ <p>Let us uncomment the two elements with the <em>Lottery to
+ Console</em> comments and restart the server. Now, try to play the
+ lottery. You will see more lines in the Console that you've seen until
+ now. At every try, logback will produce a log as shown below:
+ </p>
+
+ <p class="source">LOTTERY: 192.168.1.6 [POST /logback-demo/Lottery.do HTTP/1.1] Guess=321</p>>
+
+ <h4>Sending emails</h4>
+
+ <p>Logback access provides several components that are usually used
+ by the classic module. For example, a <code>SMTPAppender</code> can
+ be used to send an email when a specific event occurs. Here, we will
+ contact the lottery administrator each time a winner is detected. To
+ achieve this, we will add a <code>SMTPAppender</code> to the
+ existing configuration. Please uncomment the part of
+ <em>logback-access.xml</em> named <em>Lottery to Email</em>. Do not
+ forget to uncomment the <em>appender-ref</em> element, at the end of
+ the configuration file, referencing the appender called
+ <em>SMTP</em>. In the appender element, notice the use of a
+ <code>URLEvaluator</code>. This evaluator allows us to only specify
+ one or more URLs that have to be watched. When one of them are
+ accessed, an email is sent.
+ </p>
+
+ <p>A reload of the configuration has to be done before we can test
+ this new component. Once done, try to play the lottery with the
+ number <em>99</em>. You should see a congratulation message but,
+ most importantly, the specified recipients should have a new mail in
+ their mailbox. The content of the email is a nicely formatted HTML
+ table with informations about the access that have occured before
+ the triggering event.
+ </p>
+
+ <h3>JMX</h3>
+
+ <p>Logback publishes several components via JMX. This allows you to
+ see the status of certain objects, and change several configuration
+ parameters. Publishing logback's components via JMX is possible
+ with Jetty and Tomcat. For more information about JMXConfigurator
+ please refer to the <a href="manual/jmxConfig.html">relevant
+ chapter</a> in the manual.
+ </p>
+
+ <p>Let us test the level setting possibility of the configurator.
+ The <em>Prime Number</em> page requests two types of logs. When the
+ calculation checks if a number is a factor, a <em>DEBUG</em> log is
+ displayed. When the calculation has found a factor, a <em>INFO</em>
+ log is displayed.
+ </p>
+
+ <p>Let us first set the level of the logger named
+ <em>ch.qos.logback.demo.prime</em> to <em>DEBUG</em>. Run a prime
+ calculation directly, without restarting the server. The <em>View
+ logs</em> page should show the <em>DEBUG</em> and <em>INFO</em> logs.
+ </p>
+
+ <p>Now, if you set the level of the <em>ch.qos.logback.demo.prime</em>
+ logger to <em>INFO</em>, and run a prime calculation again, you should
+ not see the <em>DEBUG</em> level logs anymore.
+ </p>
+
+ <p>This demo of logback is now over. Do not hesitate to play around
+ with the configuration files. You might want to check the <a
+ href="http://logback.qos.ch/documentation.html"> logback documentation
+ page</a> for more information about any component you'd like to test.
+ </p>
-<script src="templates/footer.js" type="text/javascript"></script>
+ <script src="templates/footer.js" type="text/javascript"></script>
</div>
</body>
</html>
Modified: logback/trunk/logback-site/src/site/pages/download.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/download.html (original)
+++ logback/trunk/logback-site/src/site/pages/download.html Tue Nov 11 17:54:39 2008
@@ -1,4 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
@@ -8,49 +10,37 @@
<link rel="stylesheet" type="text/css" href="css/_print.css" media="print" />
</head>
<body>
- <script>
- prefix='';
- </script>
+ <script type="text/javascript">prefix='';</script>
- <script src="templates/header.js"></script>
+ <script src="templates/header.js" type="text/javascript"></script>
<div id="left">
- <script src="templates/left.js"></script>
+ <script src="templates/left.js" type="text/javascript"></script>
</div>
<div id="content">
-
- <div class="section">
- <h2>Download links</h2>
- </div>
-
- <p>
- Logback modules are available as downloads including full source code, class files
- and documentation.
+ <h2>Download links</h2>
+
+
+ <p>Logback modules are available as downloads including full
+ source code, class files and documentation.
</p>
<ul>
- <p>
- <a href="dist/logback-${pom.version}.zip">
- logback-${pom.version}.zip
- </a>
- </p>
- <p>
- <a href="dist/logback-${pom.version}.tar.gz">
- logback-${pom.version}.tar.gz
- </a>
- </p>
+ <li><a href="dist/logback-${pom.version}.zip">logback-${pom.version}.zip</a></li>
+ <li><a href="dist/logback-${pom.version}.tar.gz">logback-${pom.version}.tar.gz</a></li>
</ul>
- <p>If you wish to download an older version of logback, please visit the
- <a href="http://logback.qos.ch/dist/">distributions directory</a>.</p>
+ <p>If you wish to download an older version of logback, please
+ refer to the <a href="http://logback.qos.ch/dist/">distributions
+ directory</a>.</p>
- <p>
- A console plugin for Eclipse is also available. It allows you to recieve logging
- events in a convenient Eclipse view, and offers, among other functionnalities,
- the powerful filtering framework present in logback. A more precise description
- can be found in the plugin's <a href="consolePlugin.html">user guide</a>.
+ <p>A console plugin for Eclipse is also available. It allows you
+ to recieve logging events in a convenient Eclipse view, and
+ offers, among other functionnalities, the powerful filtering
+ framework present in logback. A more precise description can be
+ found in the plugin's <a href="consolePlugin.html">user guide</a>.
</p>
<ul>
@@ -68,7 +58,7 @@
<dl>
<dt>
<a
- href="http://wizardforge.org/pc?action=showVersion&id=72">Configuration
+ href="http://wizardforge.org/pc?action=showVersion&id=72">Configuration
wizard</a> by Dirk Ooms
</dt>
@@ -92,7 +82,7 @@
- <script src="templates/footer.js"></script>
+ <script src="templates/footer.js" type="text/javascript"></script>
</div>
</body>
</html>
Modified: logback/trunk/logback-site/src/site/pages/license.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/license.html (original)
+++ logback/trunk/logback-site/src/site/pages/license.html Tue Nov 11 17:54:39 2008
@@ -11,11 +11,11 @@
</head>
<body>
- <script>prefix='';</script>
+ <script type="text/javascript">prefix='';</script>
- <script src="templates/header.js"></script>
+ <script src="templates/header.js" type="text/javascript"></script>
<div id="left">
- <script src="templates/left.js"></script>
+ <script src="templates/left.js" type="text/javascript"></script>
</div>
<div id="content">
@@ -63,7 +63,7 @@
of your contribution and to protect the project in case of litigation.
</p>
-<script src="templates/footer.js"></script>
+<script src="templates/footer.js" type="text/javascript"></script>
</div>
</body>
</html>
Modified: logback/trunk/logback-site/src/site/pages/manual/appenders.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/manual/appenders.html (original)
+++ logback/trunk/logback-site/src/site/pages/manual/appenders.html Tue Nov 11 17:54:39 2008
@@ -2570,13 +2570,14 @@
<h4>ConnectionSource</h4>
- <p>
- The <id>ConnectionSource</id> interface provides a pluggable means of
- transparently obtaining JDBC Connections for logback classes that
- require the use of a <code>java.sql.Connection</code>. There are currently
- three implementations of <code>ConnectionSource</code>, namely
- <code>DataSourceConnectionSource</code>, <code>DriverManagerConnectionSource</code>
- and <code>JNDIConnectionSource</code>.
+ <p>The <code>ConnectionSource</code> interface provides a
+ pluggable means of transparently obtaining JDBC Connections for
+ logback classes that require the use of a
+ <code>java.sql.Connection</code>. There are currently three
+ implementations of <code>ConnectionSource</code>, namely
+ <code>DataSourceConnectionSource</code>,
+ <code>DriverManagerConnectionSource</code> and
+ <code>JNDIConnectionSource</code>.
</p>
<p>
Modified: logback/trunk/logback-site/src/site/pages/manual/architecture.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/manual/architecture.html (original)
+++ logback/trunk/logback-site/src/site/pages/manual/architecture.html Tue Nov 11 17:54:39 2008
@@ -791,7 +791,7 @@
want to click on the image to display its bigger version.
</p>
- <a href="underTheHood.html"><img src="images/chapter2/underTheHoodSequence2_small.gif" /></a>
+ <a href="underTheHood.html"><img src="images/chapter2/underTheHoodSequence2_small.gif" alt="underTheHoodSequence2_small.gif"/></a>
<a name="Performance"></a>
<h3>Performance</h3>
Modified: logback/trunk/logback-site/src/site/pages/manual/introduction.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/manual/introduction.html (original)
+++ logback/trunk/logback-site/src/site/pages/manual/introduction.html Tue Nov 11 17:54:39 2008
@@ -59,7 +59,7 @@
<h2>First Baby Step</h2>
- <script src="../templates/setup.js"></script>
+ <script src="../templates/setup.js" type="text/javascript"></script>
<a name="Requirements"></a>
<h3>Requirements</h3>
Modified: logback/trunk/logback-site/src/site/pages/manual/layouts.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/manual/layouts.html (original)
+++ logback/trunk/logback-site/src/site/pages/manual/layouts.html Tue Nov 11 17:54:39 2008
@@ -945,13 +945,14 @@
conversion specifier.
</p>
- <table class="bodyTable" BORDER="0" CELLPADDING="8">
- <th>Format modifier</th>
- <th>Left justify</th>
- <th>Minimum width</th>
- <th>Maximum width</th>
- <th>Comment</th>
-
+ <table class="bodyTable" border="0" cellpadding="8">
+ <tr>
+ <th>Format modifier</th>
+ <th>Left justify</th>
+ <th>Minimum width</th>
+ <th>Maximum width</th>
+ <th>Comment</th>
+ </tr>
<tr class="a">
<td align="center">%20logger</td>
<td align="center">false</td>
@@ -1024,10 +1025,12 @@
the width of output.</p>
- <table class="bodyTable" BORDER="0" CELLPADDING="8">
- <th>Format modifier</th>
- <th>Logger name</th>
- <th>Result</th>
+ <table class="bodyTable" border="0" cellpadding="8">
+ <tr>
+ <th>Format modifier</th>
+ <th>Logger name</th>
+ <th>Result</th>
+ </tr>
<tr class="b">
<td align="center">[%20.20logger]</td>
<td align="center">main.Name</td>
@@ -1534,7 +1537,7 @@
public class TrivialMain {
public static void main(String[] args) throws InterruptedException {
Logger logger = LoggerFactory.getLogger(TrivialMain.class);
- for(int i = 0; i < 6; i ++) {
+ for(int i = 0; i < 6; i ++) {
if(i % 5 == 0) {
logger.info("an info message "+i);
} else {
@@ -1676,7 +1679,7 @@
<p>Below is a list of conversion specifiers for
<code>PatternLayout</code> in logback-access.</p>
- <table class="bodyTable" border="0" CELLPADDING="8">
+ <table class="bodyTable" border="0" cellpadding="8">
<tr>
<th align="center">Conversion Word</th>
<th align="center">Effect</th>
Modified: logback/trunk/logback-site/src/site/pages/manual/underTheHood.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/manual/underTheHood.html (original)
+++ logback/trunk/logback-site/src/site/pages/manual/underTheHood.html Tue Nov 11 17:54:39 2008
@@ -1,9 +1,15 @@
-<html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <body>
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
+ <title>under the hood</title>
+ </head>
+ <body>
<h2>Under The Hood Sequence Diagram</h2>
+
+ <img src="images/chapter2/underTheHoodSequence2.gif" alt="underTheHoodSequence2.gif"/>
-<img src="images/chapter2/underTheHoodSequence2.gif" />
-
-</body>
+ </body>
</html>
Modified: logback/trunk/logback-site/src/site/pages/setup.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/setup.html (original)
+++ logback/trunk/logback-site/src/site/pages/setup.html Tue Nov 11 17:54:39 2008
@@ -1,89 +1,88 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
-<title>Setup</title>
-<link rel="stylesheet" type="text/css" media="screen" href="css/site.css" />
-</head>
-<body>
- <script>
-prefix='';
-</script>
-
-<script src="templates/header.js"></script>
-<div id="left">
- <script src="templates/left.js"></script>
-</div>
-<div id="right">
- <script src="templates/right.js"></script>
-</div>
-<div id="content">
+ <head>
+ <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
+ <title>Setup</title>
+ <link rel="stylesheet" type="text/css" href="css/common.css" />
+ <link rel="stylesheet" type="text/css" href="css/screen.css" media="screen" />
+ <link rel="stylesheet" type="text/css" href="css/_print.css" media="print" />
+
+ </head>
+ <body>
+ <script type="text/javascript">prefix=''; </script>
+
+ <script src="templates/header.js" type="text/javascript"></script>
+ <div id="left">
+ <script src="templates/left.js" type="text/javascript"></script>
+ </div>
+
+ <div id="content">
- <h2>Classpath Setup</h2>
+ <h2>Classpath Setup</h2>
- <p>In order to run the examples provided in the documentation, you
- need to add the following jars to your class path:
- </p>
-
- <ul>
- <li>logback-core-${version}.jar</li>
- <li>logback-classic-${version}.jar</li>
- <li>logback-examples-${version}.jar</li>
- <li>slf4j-api-${slf4j.version}.jar</li>
- </ul>
-
- <p>The <em>logback-*.jar</em> files are part of the logback
- distribution whereas <em>slf4j-api-${slf4j.version}.jar</em> ships
- with <a href="http://www.slf4j.org">SLF4J</a>, a separate project.
- </p>
-
- <h3>Running from the command line</h3>
-
- <p>Assuming your current directory is
- <em>$LOGBACK_HOME/logback-examples</em>, where
- <em>$LOGBACK_HOME</em> stands for the directory where you installed
- logback, you can launch the first sample application,
- <em>chapter1.HelloWord1</em> with the following command:
- </p>
+ <p>In order to run the examples provided in the documentation, you
+ need to add the following jars to your class path:
+ </p>
+
+ <ul>
+ <li>logback-core-${version}.jar</li>
+ <li>logback-classic-${version}.jar</li>
+ <li>logback-examples-${version}.jar</li>
+ <li>slf4j-api-${slf4j.version}.jar</li>
+ </ul>
+
+ <p>The <em>logback-*.jar</em> files are part of the logback
+ distribution whereas <em>slf4j-api-${slf4j.version}.jar</em> ships
+ with <a href="http://www.slf4j.org">SLF4J</a>, a separate project.
+ </p>
+
+ <h3>Running from the command line</h3>
+
+ <p>Assuming your current directory is
+ <em>$LOGBACK_HOME/logback-examples</em>, where
+ <em>$LOGBACK_HOME</em> stands for the directory where you
+ installed logback, you can launch the first sample application,
+ <em>chapter1.HelloWord1</em> with the following command:
+ </p>
-<div class="source"><pre>java -cp
- lib/slf4j-api-${slf4j.version}.jar;../logback-core-${version}.jar;\
+ <p class="source">java -cp lib/slf4j-api-${slf4j.version}.jar;../logback-core-${version}.jar;\
../logback-classic-${version}.jar;logback-examples-${version}.jar\
- chapter1.HelloWorld1</pre></div>
+ chapter1.HelloWorld1</p>
- <p>It is more convenient to set the CLASSPATH environment variable
- once and for all before running the examples.
- </p>
-
- <p>The <em>setClasspath.cmd</em> script located in the
- $LOGBACK_HOME/logback-examples folder will configure the class path
- for the MS Windows platform. For Unix, you can use
- <em>setClasspath.sh</em>.
- </p>
-
- <p>Please edit the script in order to adapt the <em>LB_HOME</em> variable
- to match your local environment.</p>
-
- <p>Please be aware that many examples will launch java classes along
- with configuration files. To access these files by using the same
- commands as written in the documentation, you will need to issue the
- commands from within the <em>$LOGBACK_HOME/logback-examples</em>
- directory.
- </p>
-
- <h3>Using an IDE, e.g. Eclipse</h3>
-
- <p>You can import the logback project into Eclipse. Since logback
- uses maven as its build system, the "maven eclipse:eclipse" command
- will create the <em>.classpath</em> and <em>.project</em> files for
- Eclipse. You can then import the logback project into Eclipse in one
- or two clicks.</p>
+ <p>It is more convenient to set the CLASSPATH environment variable
+ once and for all before running the examples.
+ </p>
+
+ <p>The <em>setClasspath.cmd</em> script located in the
+ $LOGBACK_HOME/logback-examples folder will configure the class path
+ for the MS Windows platform. For Unix, you can use
+ <em>setClasspath.sh</em>.
+ </p>
+
+ <p>Please edit the script in order to adapt the <em>LB_HOME</em> variable
+ to match your local environment.</p>
+
+ <p>Please be aware that many examples will launch java classes
+ along with configuration files. To access these files by using the
+ same commands as written in the documentation, you will need to
+ issue the commands from within the
+ <em>$LOGBACK_HOME/logback-examples</em> directory.
+ </p>
+
+ <h3>Using an IDE, e.g. Eclipse</h3>
+
+ <p>You can import the logback project into Eclipse. Since logback
+ uses maven as its build system, the "maven eclipse:eclipse" command
+ will create the <em>.classpath</em> and <em>.project</em> files for
+ Eclipse. You can then import the logback project into Eclipse in one
+ or two clicks.</p>
-<script src="templates/footer.js"></script>
+ <script src="templates/footer.js" type="text/javascript"></script>
</div>
</body>
</html>
Modified: logback/trunk/logback-site/src/site/pages/team.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/team.html (original)
+++ logback/trunk/logback-site/src/site/pages/team.html Tue Nov 11 17:54:39 2008
@@ -11,13 +11,11 @@
</head>
<body>
- <script>
- prefix='';
- </script>
+ <script type="text/javascript">prefix='';</script>
- <script src="templates/header.js"></script>
+ <script src="templates/header.js" type="text/javascript"></script>
<div id="left">
- <script src="templates/left.js"></script>
+ <script src="templates/left.js" type="text/javascript"></script>
</div>
<div id="content">
@@ -73,7 +71,7 @@
-<script src="templates/footer.js"></script>
+ <script src="templates/footer.js" type="text/javascript"></script>
</div>
</body>
</html>
Modified: logback/trunk/logback-site/src/site/pages/templates/footer.js
==============================================================================
--- logback/trunk/logback-site/src/site/pages/templates/footer.js (original)
+++ logback/trunk/logback-site/src/site/pages/templates/footer.js Tue Nov 11 17:54:39 2008
@@ -1,4 +1,16 @@
-document.write('<p class="footer">')
-document.write('Copyright © 2000-2008 <a href="http://www.qos.ch/">QOS.ch</a>')
-document.write('</p>')
\ No newline at end of file
+document.write('<table class="footer">')
+
+document.write('<tr>')
+
+document.write(' <td>')
+document.write(' <a href="http://validator.w3.org/check?uri=referer">')
+document.write(' <img align="left" src="http://www.w3.org/Icons/valid-xhtml10"')
+document.write(' alt="Valid XHTML 1.0 Transitional" height="31" width="88" /></a>')
+document.write(' </td>')
+
+document.write('<td valign="top">Copyright © 2000-2008 <a href="http://www.qos.ch/">QOS.ch</a></td>')
+
+document.write('</tr>')
+document.write('</table>')
+
1
0
11 Nov '08
[ http://jira.qos.ch/browse/LBCLASSIC-33?page=com.atlassian.jira.plugin.syste⦠]
Ceki Gulcu commented on LBCLASSIC-33:
-------------------------------------
Joern, Thank you for the information regarding your environment.
> unregistering in the jmx plugin
> -------------------------------
>
> Key: LBCLASSIC-33
> URL: http://jira.qos.ch/browse/LBCLASSIC-33
> Project: logback-classic
> Issue Type: Bug
> Components: Other
> Affects Versions: unspecified
> Environment: Operating System: All
> Platform: All
> Reporter: HontvÔri József
> Assignee: Ceki Gulcu
>
> I started using the JMX plugin of login, and I wondered how should I
> shut it down when a web application is restarted. I haven't found a
> function which unregisters the Configurator MBean. This object holds a
> reference (through ContextAwareBase) to a Context. I am afraid that not
> unregistering it causes a memory leak when a web application is restarted.
> There should be a way to shutdown the JMX plugin. Or more generally an API to shut down the Logback system in its entirety: flush buffers, close files etc. It must be decided what to do if a log request arrives when or after logback is shutting down.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.qos.ch/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
1
0
svn commit: r1960 - in logback/trunk/logback-site/src/site/pages: . css manual
by noreply.cekiļ¼ qos.ch 11 Nov '08
by noreply.cekiļ¼ qos.ch 11 Nov '08
11 Nov '08
Author: ceki
Date: Tue Nov 11 16:13:01 2008
New Revision: 1960
Modified:
logback/trunk/logback-site/src/site/pages/access.html
logback/trunk/logback-site/src/site/pages/bugreport.html
logback/trunk/logback-site/src/site/pages/consolePlugin.html
logback/trunk/logback-site/src/site/pages/css/common.css
logback/trunk/logback-site/src/site/pages/demo.html
logback/trunk/logback-site/src/site/pages/dependencies.html
logback/trunk/logback-site/src/site/pages/documentation.html
logback/trunk/logback-site/src/site/pages/faq.html
logback/trunk/logback-site/src/site/pages/index.html
logback/trunk/logback-site/src/site/pages/joran.html
logback/trunk/logback-site/src/site/pages/license.html
logback/trunk/logback-site/src/site/pages/mailinglist.html
logback/trunk/logback-site/src/site/pages/manual/appenders.html
logback/trunk/logback-site/src/site/pages/manual/architecture.html
logback/trunk/logback-site/src/site/pages/manual/contextSelector.html
logback/trunk/logback-site/src/site/pages/manual/filters.html
logback/trunk/logback-site/src/site/pages/manual/index.html
logback/trunk/logback-site/src/site/pages/manual/introduction.html
logback/trunk/logback-site/src/site/pages/manual/jmxConfig.html
logback/trunk/logback-site/src/site/pages/manual/joran.html
logback/trunk/logback-site/src/site/pages/manual/layouts.html
logback/trunk/logback-site/src/site/pages/manual/mdc.html
logback/trunk/logback-site/src/site/pages/news.html
logback/trunk/logback-site/src/site/pages/repos.html
logback/trunk/logback-site/src/site/pages/support.html
logback/trunk/logback-site/src/site/pages/team.html
Log:
ensure that html documents are valid XHTML
Modified: logback/trunk/logback-site/src/site/pages/access.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/access.html (original)
+++ logback/trunk/logback-site/src/site/pages/access.html Tue Nov 11 16:13:01 2008
@@ -1,28 +1,32 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
-<title>Logback Access</title>
-<link rel="stylesheet" type="text/css" media="screen" href="css/site.css" />
-</head>
-<body>
- <script>
-prefix='';
-</script>
-
-<script src="templates/header.js"></script>
-<div id="left">
- <script src="templates/left.js"></script>
-</div>
-<div id="content">
+ <head>
+ <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
+ <title>Logback Access</title>
+ <link rel="stylesheet" type="text/css" href="css/common.css" />
+ <link rel="stylesheet" type="text/css" href="css/screen.css" media="screen" />
+ <link rel="stylesheet" type="text/css" href="css/_print.css" media="print" />
+
+ </head>
+ <body>
+ <script type="text/javascript">prefix='';</script>
+
+ <script src="templates/header.js" type="text/javascript"></script>
+ <div id="left">
+ <script src="templates/left.js" type="text/javascript"></script>
+ </div>
+ <div id="content">
- <h2>Access log with logback, Jetty and Tomcat</h2>
- <div class="author">
+ <h2>Access log with logback, Jetty and Tomcat</h2>
+
+ <div class="author">
Authors: Ceki Gülcü, Sébastien Pennec
</div>
- <script src="../templates/creative.js"></script>
+ <script src="../templates/creative.js" type="text/javascript"></script>
<h1>Introduction</h1>
@@ -460,7 +464,8 @@
<p>Here is a sample logback-access.xml configuration file which will
output the full contents of the request and response on the console.
</p>
-<div class="source"><configuration>
+
+ <p class="source"><configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.access.PatternLayout">
<Pattern>%fullRequest%n%n%fullResponse</Pattern>
@@ -468,14 +473,12 @@
</appender>
<appender-ref ref="STDOUT" />
-</configuration>
-</div>
+</configuration></p>
-<p>Few clicks accessing the <a href="demo.html">logback-demo</a>
-application configured as outlined above, yeilds:
-</p>
+ <p>Few clicks accessing the <a href="demo.html">logback-demo</a>
+ application configured as outlined above, yeilds:</p>
-<div class="source"><b>GET /logback-demo/index.jsp HTTP/1.1</b>
+ <p class="source"><b>GET /logback-demo/index.jsp HTTP/1.1</b>
Host: localhost:8080
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.11) Gecko/20070312 Firefox/1.5.0.11
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
@@ -503,13 +506,13 @@
<h2>Logback demo center</h2>
-[snip, so that text is reasonably sized]</div>
+[snip, so that text is reasonably sized]</p>
-<p> </p>
+ <p> </p>
-</div>
-<script src="templates/footer.js"></script>
+ <script src="templates/footer.js" type="text/javascript"></script>
+</div>
</body>
</html>
Modified: logback/trunk/logback-site/src/site/pages/bugreport.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/bugreport.html (original)
+++ logback/trunk/logback-site/src/site/pages/bugreport.html Tue Nov 11 16:13:01 2008
@@ -1,4 +1,5 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
Modified: logback/trunk/logback-site/src/site/pages/consolePlugin.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/consolePlugin.html (original)
+++ logback/trunk/logback-site/src/site/pages/consolePlugin.html Tue Nov 11 16:13:01 2008
@@ -1,22 +1,24 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
-<title>Logback Console Plugin for Eclipse</title>
-<link rel="stylesheet" type="text/css" media="screen" href="css/site.css" />
-<link rel="stylesheet" type="text/css" media="print" href="css/print.css" />
-
-</head>
-<body>
- <script>
-prefix='';
-</script>
-
-<script src="templates/header.js"></script>
-<div id="left">
- <script src="templates/left.js"></script>
-</div>
-<div id="content">
+ <head>
+ <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
+ <title>Logback Console Plugin for Eclipse</title>
+ <link rel="stylesheet" type="text/css" href="css/common.css" />
+ <link rel="stylesheet" type="text/css" href="css/screen.css" media="screen" />
+ <link rel="stylesheet" type="text/css" href="css/_print.css" media="print" />
+
+
+ </head>
+ <body>
+ <script type="text/javascript">prefix='';</script>
+
+ <script src="templates/header.js" type="text/javascript"></script>
+ <div id="left">
+ <script src="templates/left.js" type="text/javascript"></script>
+ </div>
+ <div id="content">
<h2>Logback Console Plugin for Eclipse</h2>
@@ -121,7 +123,7 @@
You should see two buttons, along with the usual three Eclipse icons:
</p>
- <img src="images/plugin/buttons.gif" />
+ <img src="images/plugin/buttons.gif" alt="buttons.gif"/>
<p>
The first button on the left clears the console. The second button toggles
@@ -141,7 +143,7 @@
below:
</p>
- <img src="images/plugin/sampleLogs.gif" />
+ <img src="images/plugin/sampleLogs.gif" alt="sampleLogs.gif"/>
<p>
All events with the <em>WARN</em> level are displayed in orange. <em>ERROR</em>
@@ -162,7 +164,7 @@
an editor revealing the selected class.
</p>
- <img src="images/plugin/stackTrace.gif" />
+ <img src="images/plugin/stackTrace.gif" alt="stackTrace.gif"/>
<h3>Configuring the logback plugin</h3>
@@ -177,7 +179,7 @@
The first item in this menu opens the plugin's preference window.
</p>
- <img src="images/plugin/prefs.gif" />
+ <img src="images/plugin/prefs.gif" alt="prefs.gif" />
<p>
In this window, you can configure the pattern that will be used by the plugin
@@ -203,12 +205,12 @@
</li>
</ul>
- <p>
- An important point about this pattern is that, if it is modified, the changes
- are immediately reflected on the <strong>current content</strong> of the logback view.
- That means that if you would like to display an <code>MDC</code> value, or any other
- information that the <code>PatternLayout</code> provides, you can change it even
- <em>after</em> the logs have been requested.
+ <p>An important point about this pattern is that, if it is
+ modified, the changes are immediately reflected on the
+ <strong>current content</strong> of the logback view. That means
+ that if you would like to display an <code>MDC</code> value, or any
+ other information that the <code>PatternLayout</code> provides, you
+ can change it even <em>after</em> the logs have been requested.
</p>
<p>
@@ -243,7 +245,7 @@
opens the filter configuration window:
</p>
- <img src="images/plugin/filterWindow.gif" />
+ <img src="images/plugin/filterWindow.gif" alt="filterWindow.gif"/>
<p>
The upper part of the window lists the filters that are currently
@@ -294,7 +296,7 @@
saved the filter.
</p>
- <img src="images/plugin/createFilter.gif" />
+ <img src="images/plugin/createFilter.gif" alt="createFilter.gif" />
<p>
We've just created a filter that will drop any requests whose
@@ -321,7 +323,7 @@
</p>
-<script src="templates/footer.js"></script>
+ <script src="templates/footer.js" type="text/javascript"></script>
</div>
</body>
</html>
Modified: logback/trunk/logback-site/src/site/pages/css/common.css
==============================================================================
--- logback/trunk/logback-site/src/site/pages/css/common.css (original)
+++ logback/trunk/logback-site/src/site/pages/css/common.css Tue Nov 11 16:13:01 2008
@@ -22,7 +22,7 @@
border-top: 1px solid #DDDDDD;
border-bottom: 1px solid #DDDDDD;
background:#eee;
- font-family: Courier, "MS Courier New", Prestige, Everson Monocourrier, monospace;
+ font-family: Courier, "MS Courier New", Prestige, monospace;
padding-bottom: 0.5ex;
padding-top: 0.5ex;
padding-left: 1ex;
@@ -33,7 +33,7 @@
border-top: 1px solid #DDDDDD;
border-bottom: 1px solid #DDDDDD;
background:#eee;
- font-family: Courier, "MS Courier New", Prestige, Everson Monocourrier, monospace;
+ font-family: Courier, "MS Courier New", Prestige, monospace;
padding-bottom: 0ex;
padding-top: 0ex;
padding-left: 1ex;
@@ -61,18 +61,18 @@
}
h2 {
- font-weight: 900;
- font-size: x-large;
+ font-weight: 900;
+ font-size: x-large;
}
h3 {
- font-weight: normal;
- font-size: large;
+ font-weight: normal;
+ font-size: large;
}
h4 {
- font-weight: large;
- font-size: normal;
+ font-weight: bold;
+ font-size: medium;
}
.footer {
@@ -209,7 +209,7 @@
}
.quote {
- align: right;
+ text-align: right;
padding-left: 12em;
}
Modified: logback/trunk/logback-site/src/site/pages/demo.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/demo.html (original)
+++ logback/trunk/logback-site/src/site/pages/demo.html Tue Nov 11 16:13:01 2008
@@ -1,36 +1,38 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
-<title>Logback Demo</title>
-<link rel="stylesheet" type="text/css" media="screen" href="css/site.css" />
-</head>
-<body>
- <script>
-prefix='';
-</script>
-
-<script src="templates/header.js"></script>
-<div id="left">
- <script src="templates/left.js"></script>
-</div>
-<div id="content">
+ <head>
+ <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
+ <title>Logback Demo</title>
+ <link rel="stylesheet" type="text/css" href="css/common.css" />
+ <link rel="stylesheet" type="text/css" href="css/screen.css" media="screen" />
+ <link rel="stylesheet" type="text/css" href="css/_print.css" media="print" />
+ </head>
+ <body>
+ <script type="text/javascript">prefix=''; </script>
+
+ <script src="templates/header.js" type="text/javascript"></script>
+ <div id="left">
+ <script src="templates/left.js" type="text/javascript"></script>
+ </div>
+ <div id="content">
+
-
- <h2>Logback Demo</h2>
+ <h2>Logback Demo</h2>
- <p>Welcome to the logback demo! This document will take you through
- a tour of some of logback's major features.
- </p>
-
- <h3>Installation</h3>
+ <p>Welcome to the logback demo! This document will take you through
+ a tour of some of logback's major features.
+ </p>
+
+ <h3>Installation</h3>
- <p> First, please download the logback demo. You will need to install a
- <a href="http://subversion.tigris.org/">Subversion</a> client and
- issue the following command on a console:
- </p>
+ <p> First, please download the logback demo. You will need to
+ install a <a href="http://subversion.tigris.org/">Subversion</a>
+ client and issue the following command on a console:
+ </p>
- <div class="source"><pre>svn co http://svn.qos.ch/repos/logback-demo/tags/STABLE logback-demo</pre></div>
+ <p class="source">svn co http://svn.qos.ch/repos/logback-demo/tags/STABLE logback-demo</p>
<p>This will checkout a copy of the logback demonstration
web-application to a directory called <em>logback-demo</em>. The
@@ -553,7 +555,7 @@
page</a> for more information about any component you'd like to test.
</p>
-<script src="templates/footer.js"></script>
+<script src="templates/footer.js" type="text/javascript"></script>
</div>
</body>
</html>
Modified: logback/trunk/logback-site/src/site/pages/dependencies.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/dependencies.html (original)
+++ logback/trunk/logback-site/src/site/pages/dependencies.html Tue Nov 11 16:13:01 2008
@@ -1,20 +1,23 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
-<title>Logback Dependencies</title>
-<link rel="stylesheet" type="text/css" media="screen" href="css/site.css" />
-</head>
-<body>
-<script>
- prefix='';
-</script>
-
-<script src="templates/header.js"></script>
-<div id="left">
- <script src="templates/left.js"></script>
-</div>
-<div id="content">
+ <head>
+ <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
+ <title>Logback Dependencies</title>
+
+ <link rel="stylesheet" type="text/css" href="css/common.css" />
+ <link rel="stylesheet" type="text/css" href="css/screen.css" media="screen" />
+ <link rel="stylesheet" type="text/css" href="css/_print.css" media="print" />
+
+ </head>
+ <body>
+ <script type="text/javascript">prefix='';</script>
+
+ <script src="templates/header.js" type="text/javascript"></script>
+ <div id="left">
+ <script src="templates/left.js" type="text/javascript"></script>
+ </div>
+ <div id="content">
<h1>Dependencies per module</h1>
@@ -221,7 +224,7 @@
</table>
-<script src="../templates/footer.js"></script>
+ <script src="templates/footer.js" type="text/javascript"></script>
</div>
</body>
</html>
Modified: logback/trunk/logback-site/src/site/pages/documentation.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/documentation.html (original)
+++ logback/trunk/logback-site/src/site/pages/documentation.html Tue Nov 11 16:13:01 2008
@@ -1,4 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
Modified: logback/trunk/logback-site/src/site/pages/faq.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/faq.html (original)
+++ logback/trunk/logback-site/src/site/pages/faq.html Tue Nov 11 16:13:01 2008
@@ -1,180 +1,184 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
-<title>Logback FAQ</title>
-<link rel="stylesheet" type="text/css" media="screen" href="css/site.css" />
-</head>
-<body>
- <script>
-prefix='';
-</script>
-
-<script src="templates/header.js"></script>
-<div id="left">
- <script src="templates/left.js"></script>
-</div>
-<div id="content">
+ <head>
+ <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
+ <title>Logback FAQ</title>
+ <link rel="stylesheet" type="text/css" href="css/common.css" />
+ <link rel="stylesheet" type="text/css" href="css/screen.css" media="screen" />
+ <link rel="stylesheet" type="text/css" href="css/_print.css" media="print" />
+
+ </head>
+ <body>
+ <script type="text/javascript">prefix='';</script>
+
+ <script src="templates/header.js" type="text/javascript"></script>
+ <div id="left">
+ <script src="templates/left.js" type="text/javascript"></script>
+ </div>
+ <div id="content">
- <h2>
- <a name="top">Frequently Asked Questions</a>
- </h2>
-
- <h3>Logback project</h3>
-
- <ol type="1">
- <li><a href="#why_lgpl">Why is logback distributed under LGPL and
- not the Apache Software License?</a>
- </li>
- </ol>
-
-
- <h3>Logback Classic</h3>
+ <h2>
+ <a name="top">Frequently Asked Questions</a>
+ </h2>
+
+ <h3>Logback project</h3>
+ <ol type="1">
+ <li><a href="#why_lgpl">Why is logback distributed under LGPL and
+ not the Apache Software License?</a>
+ </li>
+ </ol>
- <ol type="1">
- <li>
- <a href="#logger_serialization">Are logback loggers
- serializable?</a>
- </li>
-
- <li>
- <a href="#auto_config">How does the automatic configuration
- work?</a>
- </li>
- <li>
- <a href="#setup_jetty">How can Jetty be instructed to use
- logback-classic as its logging implementataion?
- </a>
- </li>
- </ol>
-
- <!-- =============================================================== -->
- <!-- =============================================================== -->
- <!-- =============================================================== -->
- <!-- =============================================================== -->
-
-
- <div class="section">
- <h2>Logback project</h2>
+
+ <h3>Logback Classic</h3>
- <dl>
- <dt>
- <a name="why_lgpl" href="#why_lgpl">Why is logback distributed
- under LGPL and not the Apache Software License?</a>
- </dt>
-
- <dd>
- <p>The logback project is distributed under the LGPL license
- in order to emphasize the fact that it is a related but
- <em>different</em> project than log4j.
- </p>
-
- <p>Given that Java v7 will be distributed under GPL, we expect
- GPL and LGPL to become even more prevalent in the Java world.
- </p>
-
- <p>In short, LGPL is a reasonable and widely-accepted
- license. Let well alone.
- </p>
- </dd>
- </dl>
- </div>
-
- <div class="section">
- <h2>Logback-classic</h2>
- <dl>
-
- <!-- ========================================================= -->
-
- <dt>
- <a name="auto_config" href="#auto_config">
- How does the automatic configuration work?
- </a>
- </dt>
- <dd>
- <p>This question is answered in the <a
- href="manual/joran.html#auto_configuration">relevant
- section</a> of the logback manual.
- </p>
-
- </dd>
-
- <hr/>
+
+ <ol type="1">
+ <li>
+ <a href="#logger_serialization">Are logback loggers
+ serializable?</a>
+ </li>
- <!-- ========================================================= -->
+ <li>
+ <a href="#auto_config">How does the automatic configuration
+ work?</a>
+ </li>
+ <li>
+ <a href="#setup_jetty">How can Jetty be instructed to use
+ logback-classic as its logging implementataion?
+ </a>
+ </li>
+ </ol>
+
+ <!-- =============================================================== -->
+ <!-- =============================================================== -->
+ <!-- =============================================================== -->
+ <!-- =============================================================== -->
+
+
+ <div class="section">
+ <h2>Logback project</h2>
-
+ <dl>
+ <dt>
+ <a name="why_lgpl" href="#why_lgpl">Why is logback distributed
+ under LGPL and not the Apache Software License?</a>
+ </dt>
+
+ <dd>
+ <p>The logback project is distributed under the LGPL license
+ in order to emphasize the fact that it is a related but
+ <em>different</em> project than log4j.
+ </p>
+
+ <p>Given that Java v7 will be distributed under GPL, we expect
+ GPL and LGPL to become even more prevalent in the Java world.
+ </p>
+
+ <p>In short, LGPL is a reasonable and widely-accepted
+ license. Let well alone.
+ </p>
+ </dd>
+ </dl>
+ </div>
+
+ <div class="section">
+ <h2>Logback-classic</h2>
+ <dl>
+
+ <!-- ========================================================= -->
+
+ <dt>
+ <a name="auto_config" href="#auto_config">
+ How does the automatic configuration work?
+ </a>
+ </dt>
+ <dd>
+ <p>This question is answered in the <a
+ href="manual/joran.html#auto_configuration">relevant
+ section</a> of the logback manual.
+ </p>
- <dt>
- <a name="logger_serialization" href="#logger_serialization">
+ </dd>
+
+ <hr/>
+
+ <!-- ========================================================= -->
+
+ <dt>
+ <a name="logger_serialization" href="#logger_serialization">
Are logback loggers serializable?</a>
- </dt>
- <dd>
- <p>Yes. A logback logger <em>is</em> an SLF4J logger and SLF4J
- loggers are serializable. This means that an object
- referencing a logger will be alble to log after its
- deserialization.
- </p>
-
- <p>The deserialized logger instance will be generated by
- <code>org.slf4j.LoggerFactory</code>. Thus, it is possible
- for a logback logger to be deserialized as a log4j or j.u.l.
- logger, depending on the deserialization environment.</p>
- </dd>
-
- <hr/>
- <!-- ========================================================= -->
-
- <dt>
- <a name="setup_jetty" href="#">
- How can Jetty be instructed to use logback-classic as its
- logging implementataion?
- </a>
- </dt>
-
- <dd>
- <p>The Jetty application server uses SLF4J for its internal
- logging.
- </p>
-
- <p>The following jar files must be present in the
- <em>JETTY_HOME/lib</em> directory.
- </p>
-
- <p>Logback-classic is based on the SLF4J api. Therefore, the
- <em>slf4j-api-VERSION.jar</em> jar must be present. This jar
- can be downloaded from the <a
- href="http://www.slf4j.org/">SLF4J</a> project.
- </p>
- <p>Logback's own jars must also be present, namely
- <em>logback-core-VERSION.jar</em> and
- <em>logback-classic-VERSION.jar</em> .
- </p>
-
- <p> To configure logback-classic, a file called
- <em>logback.xml</em> should be placed in the
- <em>JETTY_HOME/resources</em> directory. You can find sample
- configuration files in the
- <em>logback-examples/src/main/java/chapter4/conf/</em> folder
- shipping within the logback distribution.
- </p>
+ </dt>
+ <dd>
+ <p>Yes. A logback logger <em>is</em> an SLF4J logger and SLF4J
+ loggers are serializable. This means that an object
+ referencing a logger will be alble to log after its
+ deserialization.
+ </p>
+
+ <p>The deserialized logger instance will be generated by
+ <code>org.slf4j.LoggerFactory</code>. Thus, it is possible
+ for a logback logger to be deserialized as a log4j or j.u.l.
+ logger, depending on the deserialization environment.</p>
+ </dd>
- </dd>
-
- <hr />
-
+ <hr/>
+ <!-- ========================================================= -->
+
+ <dt>
+ <a name="setup_jetty" href="#">
+ How can Jetty be instructed to use logback-classic as its
+ logging implementataion?
+ </a>
+ </dt>
+
+ <dd>
+ <p>The Jetty application server uses SLF4J for its internal
+ logging.
+ </p>
+
+ <p>The following jar files must be present in the
+ <em>JETTY_HOME/lib</em> directory.
+ </p>
+
+ <p>Logback-classic is based on the SLF4J api. Therefore, the
+ <em>slf4j-api-VERSION.jar</em> jar must be present. This jar
+ can be downloaded from the <a
+ href="http://www.slf4j.org/">SLF4J</a> project.
+ </p>
+ <p>Logback's own jars must also be present, namely
+ <em>logback-core-VERSION.jar</em> and
+ <em>logback-classic-VERSION.jar</em> .
+ </p>
+
+ <p> To configure logback-classic, a file called
+ <em>logback.xml</em> should be placed in the
+ <em>JETTY_HOME/resources</em> directory. You can find sample
+ configuration files in the
+ <em>logback-examples/src/main/java/chapter4/conf/</em> folder
+ shipping within the logback distribution.
+ </p>
- <!-- end of definitions -->
- </dl>
+ </dd>
+
+ <hr />
+
+
+ <!-- end of definitions -->
+ </dl>
+
+
+ </div>
- </div>
+ <script src="templates/footer.js" type="text/javascript"></script>
+
</div>
-<script src="templates/footer.js"></script>
-</div>
+
</body>
</html>
Modified: logback/trunk/logback-site/src/site/pages/index.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/index.html (original)
+++ logback/trunk/logback-site/src/site/pages/index.html Tue Nov 11 16:13:01 2008
@@ -1,4 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
Modified: logback/trunk/logback-site/src/site/pages/joran.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/joran.html (original)
+++ logback/trunk/logback-site/src/site/pages/joran.html Tue Nov 11 16:13:01 2008
@@ -1,129 +1,135 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
-<title>Using Joran</title>
-<link rel="stylesheet" type="text/css" media="screen" href="css/site.css" />
-<link rel="stylesheet" type="text/css" media="print" href="css/print.css" />
-
-</head>
-<body>
- <script type="text/javascript">prefix='./'</script>
- <script type="text/javascript" src="templates/header.js"></script>
-<div id="left">
- <script type="text/javascript" src="templates/left.js"></script>
-</div>
-<div id="content">
-
- <h2>Using Joran in your own applications</h2>
-
- <p>As we've seen, logback relies on Joran, a mature, flexible and
- powerful configuration framework. Many of the capabilities offered
- by logback modules are possible with the help of Joran.
- </p>
-
- <p>Joran is actually a generic configuration system which can be
- used independently of logging. To emphaises this point, we should
- mention that the logback-core module does not have a notion of
- loggers. In that spirit, many of the examples related to this
- tutorial, have nothing to do with loggers, appenders or layouts.
- </p>
-
- <p class="red" style="text-decoration: line-through;">The examples
- for this chapter can be found under
- <em>LOGBACK_HOME/logback-examples/src/main/java/chapter3</em>.
- </p>
-
- <p>To install joran, simply <a href="../download.html">download</a>
- logback and add <em>logback-core-${version}.jar</em> to your
- classpath.</p>
-
- <h2>Historical perspective</h2>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <p>One of the most powerful features of the Java language is
- reflection. Reflection makes it possible to configure software
- systems declaratively. For example, many important properties of an
- EJB are configured with the <em>ejb.xml</em> file. While EJBs are
- written in Java, many of their properties are specified within the
- <em>ejb.xml</em> file. Similarly, logback settings can be specified
- in a configuration file, expressed in XML format.
- </p>
-
- <p>In log4j, logback's predecessor, <code>DOMConfigurator</code>
- which shipped with log4j version 1.2.x could also parse
- configuration files written in XML. The <code>DOMConfigurator</code>
- was written in a way that forced to tweak it each time the structure
- of the configuration file changed. The modified code had to be
- recompiled and redeployed. Just as importantly, the code of the
- DOMConfigurator consists of loops dealing with children elements
- containing many interspersed if/else statements. One could not help
- but notice that that particular code reeked of redundancy. The <a
- href="http://jakarta.apache.org/commons/digester/">digester
- project</a> has shown that it is possible to parse XML files using
- pattern matching rules. At parse time, digester will apply the rules
- that match previously stated patterns. Rule classes are usually
- quite small and specialized. Consequently, they are relatively easy
- to understand and to maintain.
- </p>
-
- <p>Joran is heavily inspired by the commons-digester project but
- uses a slightly different terminology. In commons-digester, a rule
- can be seen as consisting of a pattern and a rule, as shown by the
- <code>Digester.addRule(String pattern, Rule rule)</code> method. We
- find it unnecessarily confusing to have a rule to consist of itself,
- not recursively but with a different meaning. In Joran, a rule
- consists of a pattern and an action. An action is invoked when a
- match occurs for the corresponding pattern. This relation between
- patterns and actions lies at the core of Joran. Quite remarkably,
- one can deal with quite complex requirements by using simple
- patterns, or more precisely with exact matches and wildcard
- matches. For example, the pattern <em>a/b</em> will match a
- <code><b></code> element nested within an <code><a></code>
- element but not a <code><c></code> element, even if nested within
- a <code><b></code> element. It is also possible to match a
- particular XML element, regardless of its nesting level, by using
- the <em>*</em> wildcard character. For example, the pattern
- <em>*/a</em> will match an <code><a></code> element at any
- nesting position within the document. Other types of patterns, for
- example <em>a/*</em>, are not currently supported by Joran.
- </p>
-
- <h2>SAX or DOM?</h2>
-
- <p>Due to the event-based architecture of the SAX API, a tool based
- on SAX cannot easily deal with forward references, that is,
- references to elements which are defined later than the current
- element being processed. Elements with cyclical references are
- equally problematic. More generally, the DOM API allows the user to
- perform searches on all the elements and make forward jumps.
- </p>
-
- <p>This extra flexibility initially led us to choose the DOM API as
- the underlying parsing API for Joran. After some experimentation, it
- quickly became clear that dealing with jumps to distant elements
- while parsing the DOM tree did not make sense when the
- interpretation rules were expressed in the form of patterns and
- actions. <em>Joran only needs to be given the elements in the XML
- document in a sequential, depth-first order.</em>
- </p>
-
- <p>Joran was first implemented in DOM. However, the author migrated
- to SAX in order to benefit location information, available only with
- the SAX API. Location information allows Joran to display the exact
- line and column number where an error occured, which comes in quite
- handy when hunting down problems.
- </p>
-
-
- <h2>Actions</h2>
-
- <p>Actions extend the
- <code>ch.qos.logback.core.joran.action.Action</code> class which
- consists of the following abstract methods.
- </p>
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
+ <title>Using Joran</title>
+ <link rel="stylesheet" type="text/css" href="css/common.css" />
+ <link rel="stylesheet" type="text/css" href="css/screen.css" media="screen" />
+ <link rel="stylesheet" type="text/css" href="css/_print.css" media="print" />
+
+ </head>
+ <body>
+ <script type="text/javascript">prefix='./'</script>
+ <script type="text/javascript" src="templates/header.js"></script>
+ <div id="left">
+ <script type="text/javascript" src="templates/left.js"></script>
+ </div>
+ <div id="content">
+
+ <h2>Using Joran in your own applications</h2>
+
+ <p>As we've seen, logback relies on Joran, a mature, flexible and
+ powerful configuration framework. Many of the capabilities offered
+ by logback modules are possible with the help of Joran.
+ </p>
+
+ <p>Joran is actually a generic configuration system which can be
+ used independently of logging. To emphaises this point, we should
+ mention that the logback-core module does not have a notion of
+ loggers. In that spirit, many of the examples related to this
+ tutorial, have nothing to do with loggers, appenders or layouts.
+ </p>
+
+ <p class="red" style="text-decoration: line-through;">The examples
+ for this chapter can be found under
+ <em>LOGBACK_HOME/logback-examples/src/main/java/chapter3</em>.
+ </p>
+
+ <p>To install joran, simply <a href="../download.html">download</a>
+ logback and add <em>logback-core-${version}.jar</em> to your
+ classpath.</p>
+
+ <h2>Historical perspective</h2>
+
+ <p>One of the most powerful features of the Java language is
+ reflection. Reflection makes it possible to configure software
+ systems declaratively. For example, many important properties of an
+ EJB are configured with the <em>ejb.xml</em> file. While EJBs are
+ written in Java, many of their properties are specified within the
+ <em>ejb.xml</em> file. Similarly, logback settings can be specified
+ in a configuration file, expressed in XML format.
+ </p>
+
+ <p>In log4j, logback's predecessor, <code>DOMConfigurator</code>
+ which shipped with log4j version 1.2.x could also parse
+ configuration files written in XML. The
+ <code>DOMConfigurator</code> was written in a way that forced to
+ tweak it each time the structure of the configuration file
+ changed. The modified code had to be recompiled and
+ redeployed. Just as importantly, the code of the DOMConfigurator
+ consists of loops dealing with children elements containing many
+ interspersed if/else statements. One could not help but notice
+ that that particular code reeked of redundancy. The <a
+ href="http://jakarta.apache.org/commons/digester/">digester
+ project</a> has shown that it is possible to parse XML files using
+ pattern matching rules. At parse time, digester will apply the
+ rules that match previously stated patterns. Rule classes are
+ usually quite small and specialized. Consequently, they are
+ relatively easy to understand and to maintain.
+ </p>
+
+ <p>Joran is heavily inspired by the commons-digester project but
+ uses a slightly different terminology. In commons-digester, a rule
+ can be seen as consisting of a pattern and a rule, as shown by the
+ <code>Digester.addRule(String pattern, Rule rule)</code>
+ method. We find it unnecessarily confusing to have a rule to
+ consist of itself, not recursively but with a different
+ meaning. In Joran, a rule consists of a pattern and an action. An
+ action is invoked when a match occurs for the corresponding
+ pattern. This relation between patterns and actions lies at the
+ core of Joran. Quite remarkably, one can deal with quite complex
+ requirements by using simple patterns, or more precisely with
+ exact matches and wildcard matches. For example, the pattern
+ <em>a/b</em> will match a <code><b></code> element nested
+ within an <code><a></code> element but not a
+ <code><c></code> element, even if nested within a
+ <code><b></code> element. It is also possible to match a
+ particular XML element, regardless of its nesting level, by using
+ the <em>*</em> wildcard character. For example, the pattern
+ <em>*/a</em> will match an <code><a></code> element at any
+ nesting position within the document. Other types of patterns, for
+ example <em>a/*</em>, are not currently supported by Joran.
+ </p>
+
+ <h2>SAX or DOM?</h2>
+
+ <p>Due to the event-based architecture of the SAX API, a tool based
+ on SAX cannot easily deal with forward references, that is,
+ references to elements which are defined later than the current
+ element being processed. Elements with cyclical references are
+ equally problematic. More generally, the DOM API allows the user to
+ perform searches on all the elements and make forward jumps.
+ </p>
+
+ <p>This extra flexibility initially led us to choose the DOM API
+ as the underlying parsing API for Joran. After some
+ experimentation, it quickly became clear that dealing with jumps
+ to distant elements while parsing the DOM tree did not make sense
+ when the interpretation rules were expressed in the form of
+ patterns and actions. <em>Joran only needs to be given the
+ elements in the XML document in a sequential, depth-first
+ order.</em>
+ </p>
+
+ <p>Joran was first implemented in DOM. However, the author migrated
+ to SAX in order to benefit location information, available only with
+ the SAX API. Location information allows Joran to display the exact
+ line and column number where an error occured, which comes in quite
+ handy when hunting down problems.
+ </p>
+
+
+ <h2>Actions</h2>
+
+ <p>Actions extend the
+ <code>ch.qos.logback.core.joran.action.Action</code> class which
+ consists of the following abstract methods.
+ </p>
-<div class="source"><pre>package ch.qos.logback.core.joran.action;
+ <p class="source">package ch.qos.logback.core.joran.action;
import org.xml.sax.Attributes;
import ch.qos.logback.core.joran.spi.ExecutionContext;
@@ -144,46 +150,46 @@
* have been processed.
*/
public abstract void end(ExecutionContext ec, String name);
-}</pre></div>
+}</p>
- <p>Thus, every action must implement the begin and end methods.</p>
+ <p>Thus, every action must implement the begin and end methods.</p>
- <h2>Execution context</h2>
+ <h2>Execution context</h2>
- <p>To allow various actions to collaborate, the invocation of begin
- and end methods include an execution context as the first
- parameter. The execution context includes an object stack, an object
- map, an error list and a reference to the Joran interpreter invoking
- the action. Please see the
- <code>ch.qos.logback.core.joran.spi.ExecutionContext</code> class
- for the exact list of fields contained in the execution context.
- </p>
-
- <p>Actions can collaborate together by fetching, pushing or popping
- objects from the common object stack, or by putting and fetching
- keyed objects on the common object map. Actions can report any error
- conditions by adding error items on the execution context's
- <code>StatusManager</code>.
- </p>
-
- <a name="helloWorld"></a>
- <h3>A hello world example</h3>
-
- <p>The <em>logback-examples/src/main/java/chapter3/helloWorld/</em>
- directory includes a trivial action and Joran interpreter setup
- which just displays <em>Hello World</em> when a <hello-world>
- element is encountered in an XML file. It also includes the basic
- steps which are necessary to set up and invoke a Joran interpreter.
- </p>
-
- <p>The <em>hello.xml</em> file contains only one element, without
- any other nested elements. The <a
- href="../xref/chapter3/helloWorld/HelloWorldAction.html">
- <code>HelloWorldAction</code></a> class is a trivial implementation:
- it only prints "Hello World" in the console when it's
- <code>begin()</code> method is called.
- </p>
+ <p>To allow various actions to collaborate, the invocation of begin
+ and end methods include an execution context as the first
+ parameter. The execution context includes an object stack, an object
+ map, an error list and a reference to the Joran interpreter invoking
+ the action. Please see the
+ <code>ch.qos.logback.core.joran.spi.ExecutionContext</code> class
+ for the exact list of fields contained in the execution context.
+ </p>
+
+ <p>Actions can collaborate together by fetching, pushing or popping
+ objects from the common object stack, or by putting and fetching
+ keyed objects on the common object map. Actions can report any error
+ conditions by adding error items on the execution context's
+ <code>StatusManager</code>.
+ </p>
+
+ <a name="helloWorld"></a>
+ <h3>A hello world example</h3>
+
+ <p>The <em>logback-examples/src/main/java/chapter3/helloWorld/</em>
+ directory includes a trivial action and Joran interpreter setup
+ which just displays <em>Hello World</em> when a <hello-world>
+ element is encountered in an XML file. It also includes the basic
+ steps which are necessary to set up and invoke a Joran interpreter.
+ </p>
+
+ <p>The <em>hello.xml</em> file contains only one element, without
+ any other nested elements. The <a
+ href="../xref/chapter3/helloWorld/HelloWorldAction.html">
+ <code>HelloWorldAction</code></a> class is a trivial implementation:
+ it only prints "Hello World" in the console when it's
+ <code>begin()</code> method is called.
+ </p>
<p> <a
href="../xref/chapter3/helloWorld/HelloWorld.html"><code>HelloWorld</code></a>
@@ -505,7 +511,7 @@
</p>
-<script src="templates/footer.js"></script>
+ <script src="templates/footer.js" type="text/javascript"></script>
</div>
</body>
</html>
Modified: logback/trunk/logback-site/src/site/pages/license.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/license.html (original)
+++ logback/trunk/logback-site/src/site/pages/license.html Tue Nov 11 16:13:01 2008
@@ -1,4 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
Modified: logback/trunk/logback-site/src/site/pages/mailinglist.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/mailinglist.html (original)
+++ logback/trunk/logback-site/src/site/pages/mailinglist.html Tue Nov 11 16:13:01 2008
@@ -1,57 +1,54 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
-<title>Mailing lists</title>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
+ <title>Mailing lists</title>
+
<link rel="stylesheet" type="text/css" href="css/common.css" />
<link rel="stylesheet" type="text/css" href="css/screen.css" media="screen" />
<link rel="stylesheet" type="text/css" href="css/_print.css" media="print" />
-</head>
-<body>
- <script>
-prefix='';
-</script>
-
-<script src="templates/header.js"></script>
-<div id="left">
- <script src="templates/left.js"></script>
-</div>
-<div id="content">
-
+ </head>
+ <body>
+ <script type="text/javascript">prefix='';</script>
+
+ <script src="templates/header.js" type="text/javascript"></script>
+ <div id="left">
+ <script src="templates/left.js" type="text/javascript"></script>
+ </div>
+ <div id="content">
-
- <h2>Project Mailing Lists</h2>
+ <h2>Project Mailing Lists</h2>
- <p>
- A mailing list is an electronic discussion forum that anyone
- can subscribe to. When someone sends an email message to the
- mailing list, a copy of that message is broadcast to
- everyone who is subscribed to that mailing list. Mailing
- lists provide a simple and effective communication
- mechanism. With potentially thousands of subscribers, there
- is a common set of etiquette guidelines that you should
- observe. Please keep on reading.
+ <p>A mailing list is an electronic discussion forum that anyone
+ can subscribe to. When someone sends an email message to the
+ mailing list, a copy of that message is broadcast to everyone who
+ is subscribed to that mailing list. Mailing lists provide a simple
+ and effective communication mechanism. With potentially thousands
+ of subscribers, there is a common set of etiquette guidelines that
+ you should observe. Please keep on reading.
</p>
- <h3>Respect the mailing list type</h3>
- <p>
- The "User" lists where you can send questions and comments
- about configuration, setup, usage and other "user" types of
- questions. The "Developer" lists where you can send
- questions and comments about the actual software source code
- and general "development" types of questions.
+
+ <h3>Respect the mailing list type</h3>
+
+ <p>The "User" lists where you can send questions and comments
+ about configuration, setup, usage and other "user" types of
+ questions. The "Developer" lists where you can send questions and
+ comments about the actual software source code and other issues
+ related to development.
</p>
- <p>
- Some questions are appropriate for posting on both the
- "user" and the "developer" lists. In this case, pick one and
- only one. Do not cross post.
+
+ <p>Some questions are appropriate for posting on both the "user"
+ and the "developer" lists. In this case, pick one and only one. Do
+ not cross post.
</p>
- <p>
- Please do your best to ensure that you are not sending HTML
- or "Stylelized" email to the list. If you are using Outlook
- or Outlook Express or Eudora, chances are that you are
- sending HTML email by default. There is usually a setting
- that will allow you to send "Plain Text" email.
+
+ <p>Please do your best to ensure that you are not sending HTML or
+ "Stylelized" email to the list. If you are using Outlook or
+ Outlook Express or Eudora, chances are that you are sending HTML
+ email by default. There is usually a setting that will allow you
+ to send "Plain Text" email.
</p>
@@ -166,7 +163,7 @@
<p> </p>
- <script src="templates/footer.js"></script>
+ <script src="templates/footer.js" type="text/javascript"></script>
</div>
</body>
</html>
Modified: logback/trunk/logback-site/src/site/pages/manual/appenders.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/manual/appenders.html (original)
+++ logback/trunk/logback-site/src/site/pages/manual/appenders.html Tue Nov 11 16:13:01 2008
@@ -1,4 +1,5 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
Modified: logback/trunk/logback-site/src/site/pages/manual/architecture.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/manual/architecture.html (original)
+++ logback/trunk/logback-site/src/site/pages/manual/architecture.html Tue Nov 11 16:13:01 2008
@@ -1,4 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
Modified: logback/trunk/logback-site/src/site/pages/manual/contextSelector.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/manual/contextSelector.html (original)
+++ logback/trunk/logback-site/src/site/pages/manual/contextSelector.html Tue Nov 11 16:13:01 2008
@@ -1,4 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
Modified: logback/trunk/logback-site/src/site/pages/manual/filters.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/manual/filters.html (original)
+++ logback/trunk/logback-site/src/site/pages/manual/filters.html Tue Nov 11 16:13:01 2008
@@ -1,4 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
Modified: logback/trunk/logback-site/src/site/pages/manual/index.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/manual/index.html (original)
+++ logback/trunk/logback-site/src/site/pages/manual/index.html Tue Nov 11 16:13:01 2008
@@ -1,4 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
Modified: logback/trunk/logback-site/src/site/pages/manual/introduction.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/manual/introduction.html (original)
+++ logback/trunk/logback-site/src/site/pages/manual/introduction.html Tue Nov 11 16:13:01 2008
@@ -1,4 +1,5 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
Modified: logback/trunk/logback-site/src/site/pages/manual/jmxConfig.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/manual/jmxConfig.html (original)
+++ logback/trunk/logback-site/src/site/pages/manual/jmxConfig.html Tue Nov 11 16:13:01 2008
@@ -1,4 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
Modified: logback/trunk/logback-site/src/site/pages/manual/joran.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/manual/joran.html (original)
+++ logback/trunk/logback-site/src/site/pages/manual/joran.html Tue Nov 11 16:13:01 2008
@@ -1,4 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
Modified: logback/trunk/logback-site/src/site/pages/manual/layouts.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/manual/layouts.html (original)
+++ logback/trunk/logback-site/src/site/pages/manual/layouts.html Tue Nov 11 16:13:01 2008
@@ -1,4 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
Modified: logback/trunk/logback-site/src/site/pages/manual/mdc.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/manual/mdc.html (original)
+++ logback/trunk/logback-site/src/site/pages/manual/mdc.html Tue Nov 11 16:13:01 2008
@@ -1,4 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
Modified: logback/trunk/logback-site/src/site/pages/news.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/news.html (original)
+++ logback/trunk/logback-site/src/site/pages/news.html Tue Nov 11 16:13:01 2008
@@ -1,50 +1,49 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
-<title>News</title>
+ <head>
+ <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
+ <title>News</title>
<link rel="stylesheet" type="text/css" href="css/common.css" />
<link rel="stylesheet" type="text/css" href="css/screen.css" media="screen" />
<link rel="stylesheet" type="text/css" href="css/_print.css" media="print" />
-
-
-</head>
-<body>
- <script>
-prefix='';
-</script>
-
-<script src="templates/header.js"></script>
-<div id="left">
- <script src="templates/left.js"></script>
-</div>
-<div id="content">
+
+ </head>
+ <body>
+ <script type="text/javascript">prefix='';</script>
+
+ <script src="templates/header.js" type="text/javascript"></script>
+ <div id="left">
+ <script src="templates/left.js" type="text/javascript"></script>
+ </div>
+ <div id="content">
- <h2>Logback News</h2>
+ <h2>Logback News</h2>
- <p>You can receive logback-related announcements by subscribing to
- the <a
- href="http://www.qos.ch/mailman/listinfo/logback-announce">logback
- announce</a> mailing list.</p>
+ <p>You can receive logback-related announcements by subscribing to
+ the <a
+ href="http://www.qos.ch/mailman/listinfo/logback-announce">logback
+ announce</a> mailing list.</p>
- <hr width="80%" align="center" />
-
- <h3>28th of November 2008 - Release of version 0.9.12</h3>
+ <hr width="80%" align="center" />
- <p>Fixed <a href="http://jira.qos.ch/browse/LBCORE-26">bug
- LBCORE-26</a> reported by Tsutomu YANO and independently by
- Hontvári József and Gamaliel
- Amaudruz. <code>RollingFileAppender</code> when used in conjunction
- with <code>DateBasedRollingPolicy</code> will rollover existing log
- files at initialization if their timestamp warrants it.
- </p>
+ <h3>28th of November 2008 - Release of version 0.9.12</h3>
+
+ <p>Fixed <a href="http://jira.qos.ch/browse/LBCORE-26">bug
+ LBCORE-26</a> reported by Tsutomu YANO and independently by
+ Hontvári József and Gamaliel
+ Amaudruz. <code>RollingFileAppender</code> when used in conjunction
+ with <code>DateBasedRollingPolicy</code> will rollover existing log
+ files at initialization if their timestamp warrants it.
+ </p>
- <p>Fixed <a
- href="http://jira.qos.ch/browse/LBCLASSIC-83">LBCLASSIC-83</a>. It
- is now possible to set the level of a logger to null, even if it was
- previously set to a non-null level. Previously, a
- <code>NullPointerException</code> would be thrown.
- </p>
+ <p>Fixed <a
+ href="http://jira.qos.ch/browse/LBCLASSIC-83">LBCLASSIC-83</a>.
+ It is now possible to set the level of a logger to null, even if
+ it was previously set to a non-null level. Previously, a
+ <code>NullPointerException</code> would be thrown.
+ </p>
<p>In reponse to <a
href="http://jira.qos.ch/browse/LBCLASSIC-61">LBCLASSIC-61</a>, <a
@@ -254,74 +253,74 @@
<h3>26th of March 2008 - Release of version 0.9.9</h3>
- <p>MDC data in now inherited by child threads. This behaviour was
- already specified in the javadocs. The issue was raised by Martin
- Benda in <a href="http://bugzilla.qos.ch/show_bug.cgi?id=64">bug
- 64</a> and independently by Peter Huber.
- </p>
-
- <p>Logback no longer includes retro-weaver generted jars for JDK
- 1.4. There seemes to be little interest in JDK 1.4 builds. Calling
- retro-weaver increases logback's build time by a few seconds each
- time – seconds in which we can do more productive things.
- </p>
-
- <p>Fixed <a href="http://bugzilla.qos.ch/show_bug.cgi?id=104">bug
- 104</a>, silly but but nonetheless serious copy-and-paste errors in
- the c.q.l.classic.Logger class, reported by Joern Huxhorn.
- </p>
-
- <p>Having been replaced by <code>SimpleSocketServer</code>, the
- <code>SocketServer</code> class has been removed.
- </p>
-
- <p>Fixed <a href="http://bugzilla.qos.ch/show_bug.cgi?id=105">bug
- 105</a>, sockets created by <code>SocketAppenderBase</code> is now
- closed, reported by Joern Huxhorn. More generally,
- <code>SimpleSocketServer</code> is much more careful to track open
- client connections and to close them.
- </p>
-
- <p>Fixed <a href="http://bugzilla.qos.ch/show_bug.cgi?id=110">bug
- 110</a> in relation with the <code>requestParameterMap</code> field
- in <code>AccessEvent</code> - reported by Joern Huxhorn.
- </p>
-
- <p>Fixed <a href="http://bugzilla.slf4j.org/show_bug.cgi?id=66">
- SLF4J bug 66</a> in relation with caller data when using
- log4j-over-slf4j - reported by Frnack Routier.
- </p>
-
- <p>Fixed <a href="http://bugzilla.qos.ch/show_bug.cgi?id=129">bug
- 129</a> reported by Michael Franz. As a result, Joran now supports
- nested as well as multiple file inclusions.
- </p>
-
- <p>Fixed <a href="http://bugzilla.qos.ch/show_bug.cgi?id=100">bug
- 100</a> reported by Joern Huxhorn. At serialization time, object
- array passed as parameter, when the LoggingEvent is are now
- serialized as strings.
- </p>
-
- <p>Fixed <a href="http://bugzilla.qos.ch/show_bug.cgi?id=109">bug
- 109</a> reported by Joern Huxhorn. There should no longer be any
- NullPointerExceptions thrown by deserialized
- <code>AccessEvent</code> instances.
- </p>
-
- <p>Fixed <a href="http://bugzilla.qos.ch/show_bug.cgi?id=8">bug
- 8</a> reported by Sebastien Pennec. The documentation has been
- updated to reflect the fact that that in the context of conversion
- patterns the percent sign carries special meaning, in order to
- include the percent sign as a literal, it must be escaped with a
- backslash.
- </p>
-
- <p>Fixed <a href="http://bugzilla.qos.ch/show_bug.cgi?id=52">bug
- 52</a> reported by Kenichi Masuko. The bug has been fixed on March
- 8th, 2007. Starting with this release, Joran will support the
- injection of any enum tpye, not just <code>FilterReply</code>.
- </p>
+ <p>MDC data in now inherited by child threads. This behaviour was
+ already specified in the javadocs. The issue was raised by Martin
+ Benda in <a href="http://bugzilla.qos.ch/show_bug.cgi?id=64">bug
+ 64</a> and independently by Peter Huber.
+ </p>
+
+ <p>Logback no longer includes retro-weaver generted jars for JDK
+ 1.4. There seemes to be little interest in JDK 1.4 builds. Calling
+ retro-weaver increases logback's build time by a few seconds each
+ time – seconds in which we can do more productive things.
+ </p>
+
+ <p>Fixed <a href="http://bugzilla.qos.ch/show_bug.cgi?id=104">bug
+ 104</a>, silly but but nonetheless serious copy-and-paste errors in
+ the c.q.l.classic.Logger class, reported by Joern Huxhorn.
+ </p>
+
+ <p>Having been replaced by <code>SimpleSocketServer</code>, the
+ <code>SocketServer</code> class has been removed.
+ </p>
+
+ <p>Fixed <a href="http://bugzilla.qos.ch/show_bug.cgi?id=105">bug
+ 105</a>, sockets created by <code>SocketAppenderBase</code> is now
+ closed, reported by Joern Huxhorn. More generally,
+ <code>SimpleSocketServer</code> is much more careful to track open
+ client connections and to close them.
+ </p>
+
+ <p>Fixed <a href="http://bugzilla.qos.ch/show_bug.cgi?id=110">bug
+ 110</a> in relation with the <code>requestParameterMap</code> field
+ in <code>AccessEvent</code> - reported by Joern Huxhorn.
+ </p>
+
+ <p>Fixed <a href="http://bugzilla.slf4j.org/show_bug.cgi?id=66">
+ SLF4J bug 66</a> in relation with caller data when using
+ log4j-over-slf4j - reported by Frnack Routier.
+ </p>
+
+ <p>Fixed <a href="http://bugzilla.qos.ch/show_bug.cgi?id=129">bug
+ 129</a> reported by Michael Franz. As a result, Joran now supports
+ nested as well as multiple file inclusions.
+ </p>
+
+ <p>Fixed <a href="http://bugzilla.qos.ch/show_bug.cgi?id=100">bug
+ 100</a> reported by Joern Huxhorn. At serialization time, object
+ array passed as parameter, when the LoggingEvent is are now
+ serialized as strings.
+ </p>
+
+ <p>Fixed <a href="http://bugzilla.qos.ch/show_bug.cgi?id=109">bug
+ 109</a> reported by Joern Huxhorn. There should no longer be any
+ NullPointerExceptions thrown by deserialized
+ <code>AccessEvent</code> instances.
+ </p>
+
+ <p>Fixed <a href="http://bugzilla.qos.ch/show_bug.cgi?id=8">bug
+ 8</a> reported by Sebastien Pennec. The documentation has been
+ updated to reflect the fact that that in the context of conversion
+ patterns the percent sign carries special meaning, in order to
+ include the percent sign as a literal, it must be escaped with a
+ backslash.
+ </p>
+
+ <p>Fixed <a href="http://bugzilla.qos.ch/show_bug.cgi?id=52">bug
+ 52</a> reported by Kenichi Masuko. The bug has been fixed on March
+ 8th, 2007. Starting with this release, Joran will support the
+ injection of any enum tpye, not just <code>FilterReply</code>.
+ </p>
<hr width="80%" align="center" />
@@ -483,304 +482,269 @@
</p>
- <h3>March 5th, 2007 - Release of version 0.9.2</h3>
-
- <p>The documentation is now in the <em>docs/</em> directory to allow an
- easier access to the logback manual and website for offline viewing.
- </p>
-
- <h3>March 5th, 2007 - Release of version 0.9.1</h3>
-
- <p>Logback-class now depends on SLF4J version 1.3.0 instead of
- 1.2.</p>
-
- <p>Numerous improvements to the documentation.</p>
-
- <p><a href="http://bugzilla.qos.ch/show_bug.cgi?id=46">Bug #46</a>
- reported by Mark Renyolds has been fixed. The
- <code>TimeUtilTest</code> should now run fine under any time
- zone.</p>
-
- <p><a href="http://bugzilla.qos.ch/show_bug.cgi?id=45">Bug
- #45</a>, also reported by Mark Reynolds, has been fixed. There
- should be no <code>ClassCastException</code> thrown anymore when
- passing an <code>Object</code> to the printing methods using the
- log4j-bridge module. </p>
-
- <hr width="80%" align="center" />
-
- <h3>January 31st, 2007 - Release of version 0.9</h3>
-
- <p>
- This version contains a new component, namely the
- <code>ContextSelector</code>, that provides context separation
- and management when logback is used by several web-apps running
- under the same server. A <a
- href="manual/contextSelector.html">new chapter</a> was added to
- the logback manual to detail the use of the
- <code>ContextSelector</code>, along with its associated
- components.
- </p>
-
- <p>
- The <code>JMXConfigurator</code> has been improved. It now shows
- the context's Status objects, which lets users check the
- internal state of logback.
- </p>
-
- <p>
- The logback manual's chapter 2, about <a
- href="manual/architecture.html">logback's architecture</a>, has
- been updated with two sections: Under the hood and Performance.
- </p>
-
- <hr width="80%" align="center" />
-
- <h3>January 23th, 2007 - Release of version 0.8.1</h3>
-
- <p>
- This version contains new components in the Access module,
- allowing users to display the full HttpServletRequest or
- HttpServletResponse of an access event.
- </p>
-
- <p>
- The documentation section has been updated. The short introduction was split
- into the chapter 1 and chapter 2 of the logback manual. The chapters about
- Appenders and Layouts have been updated to document new components of logback.
- </p>
-
- <p>A demonstration webApp presenting logback's major components is
- available. A document explains how to run it, and provides a
- step-by-step visit of the demo.
- </p>
+ <h3>March 5th, 2007 - Release of version 0.9.2</h3>
+
+ <p>The documentation is now in the <em>docs/</em> directory to allow an
+ easier access to the logback manual and website for offline viewing.
+ </p>
+
+ <h3>March 5th, 2007 - Release of version 0.9.1</h3>
+
+ <p>Logback-class now depends on SLF4J version 1.3.0 instead of
+ 1.2.</p>
+
+ <p>Numerous improvements to the documentation.</p>
+
+ <p><a href="http://bugzilla.qos.ch/show_bug.cgi?id=46">Bug #46</a>
+ reported by Mark Renyolds has been fixed. The
+ <code>TimeUtilTest</code> should now run fine under any time
+ zone.</p>
+
+ <p><a href="http://bugzilla.qos.ch/show_bug.cgi?id=45">Bug
+ #45</a>, also reported by Mark Reynolds, has been fixed. There
+ should be no <code>ClassCastException</code> thrown anymore when
+ passing an <code>Object</code> to the printing methods using the
+ log4j-bridge module. </p>
+
+ <hr width="80%" align="center" />
+
+ <h3>January 31st, 2007 - Release of version 0.9</h3>
+
+ <p>This version contains a new component, namely the
+ <code>ContextSelector</code>, that provides context separation and
+ management when logback is used by several web-apps running under
+ the same server. A <a href="manual/contextSelector.html">new
+ chapter</a> was added to the logback manual to detail the use of the
+ <code>ContextSelector</code>, along with its associated components.
+ </p>
+
+ <p>The <code>JMXConfigurator</code> has been improved. It now shows
+ the context's Status objects, which lets users check the internal
+ state of logback.
+ </p>
+
+ <p>The logback manual's chapter 2, about <a
+ href="manual/architecture.html">logback's architecture</a>, has been
+ updated with two sections: Under the hood and Performance.
+ </p>
+
+ <hr width="80%" align="center" />
+
+ <h3>January 23th, 2007 - Release of version 0.8.1</h3>
+
+ <p>This version contains new components in the Access module,
+ allowing users to display the full HttpServletRequest or
+ HttpServletResponse of an access event.
+ </p>
- <p>A first translation of logback jars to JDK1.4 is present in
- this release.
- </p>
-
+ <p>The documentation section has been updated. The short
+ introduction was split into the chapter 1 and chapter 2 of the
+ logback manual. The chapters about Appenders and Layouts have been
+ updated to document new components of logback.
+ </p>
- <hr width="80%" align="center" />
+ <p>A demonstration webApp presenting logback's major components is
+ available. A document explains how to run it, and provides a
+ step-by-step visit of the demo.
+ </p>
+
+ <p>A first translation of logback jars to JDK1.4 is present in
+ this release.
+ </p>
+
+
+ <hr width="80%" align="center" />
+
+ <h3>January 12th, 2007 - Release of version 0.8</h3>
+
+ <p>This version contains a whole new chapter, namely Chapter 3,
+ about logback configuration. Several other documentation pages
+ have been improved.
+ </p>
+
+ <p>Logback now uses Generics in many components.
+ </p>
+
+ <p>Several new components have been added to logback. A JMX
+ Configurator now allows users to see and modify loggers or reload
+ configuration among other possibilities. A <a
+ href="jmxConfig.html">document</a> about this configurator is
+ available in the <a href="documentation.html">corresponding
+ section</a> of the site. We'd like to thank Sebastian Davids for his
+ ideas and contributions to this component.
+ </p>
+
+ <p>A JMSTopicAppender and JMSQueueAppender are now available, as
+ well as two new filters: LevelFilter and ThresholdFilter. A
+ refactoring was done in the filters objects to ease the
+ implementation of custom filters.
+ </p>
+
+ <hr width="80%" align="center" />
- <h3>January 12th, 2007 - Release of version 0.8</h3>
+
+ <h3>December 19th, 2006 - Release of version 0.7.1</h3>
+
+ <p>Version 0.7.1 of logback has been released.
+ </p>
+
+ <p>This version contains more detailled information about logback
+ access module, and its JMX components. A <a
+ href="access.html">dedicated page</a> explains how to configure and
+ use logback access in Tomcat and Jetty, and access some of its
+ components via JMX.
+ </p>
+
+ <hr width="80%" align="center" />
+
+ <h3>December 18th, 2006 - Release of version 0.7</h3>
+
+ <p>Version 0.7 of logback has been released.</p>
+
+ <p>Logback now ships with a new module: <em>log4j-bridge</em>. This
+ new module can be used to intercept log4j calls and redirects them
+ to logback components. More information about this module can be
+ found in the corresponding <a href="bridge.html">documentation
+ page</a>.
+ </p>
+
+ <p>The documentation has been vastly updated. Two new chapters,
+ namely Filters and MDC, are available in the manual section.
+ </p>
- <p>This version contains a whole new chapter, namely Chapter 3,
- about logback configuration. Several other documentation pages
- have been improved.
- </p>
-
- <p>Logback now uses Generics in many components.
- </p>
-
- <p>Several new components have been added to logback. A JMX
- Configurator now allows users to see and modify loggers or reload
- configuration among other possibilities. A <a
- href="jmxConfig.html">document</a> about this configurator is
- available in the <a href="documentation.html">corresponding
- section</a> of the site. We'd like to thank Sebastian Davids for
- his ideas and contributions to this component.
- </p>
-
- <p>A JMSTopicAppender and JMSQueueAppender are now available, as
- well as two new filters: LevelFilter and ThresholdFilter. A
- refactoring was done in the filters objects to ease the
- implementation of custom filters.
- </p>
-
- <hr width="80%" align="center" />
-
-
- <h3>December 19th, 2006 - Release of version 0.7.1</h3>
-
- <p>Version 0.7.1 of logback has been released.
- </p>
-
- <p>This version contains more detailled information about logback
- access module, and its JMX components. A <a
- href="access.html">dedicated page</a> explains how to configure
- and use logback access in Tomcat and Jetty, and access some of its
- components via JMX.
- </p>
+ <hr width="80%" align="center" />
+
+ <h3>November 30th, 2006 - Release of version 0.6</h3>
+
+ <p>Version 0.6 of logback has been released.
+ </p>
+
+ <p>Logback classic now supports automatic configuration, allowing
+ test and production environment
+ configuration. <code>TurboFilters</code> make their first appearance
+ in a logback release. They provide ultra-fast filtering
+ possibilities. The logging context now supports listeners which
+ will be contacted each time the context is reset or
+ started. <code>SMTPAppender</code> allows for much more flexible
+ configuration than before.
+ </p>
- <hr width="80%" align="center" />
+ <p>In logback access, new Appenders are available, namely
+ <code>SocketAppender</code> and <code>DBAppender</code>. Logback
+ access now supports filtering and event evaluations. A
+ <code>CountingFilter</code> has been added. It provides statistical
+ views of server access, reachable via JMX.
+ </p>
+
+ <p>The documentation has also been improved. A complete new chapter
+ has been added about Appenders, the short introduction to logback
+ classic has been updated and a new module, containing many
+ configuration examples has been added.
+ </p>
+
+ <p>Logback now uses continous integration in its development.
+ </p>
+
+ <p>Tests have been improved, many new have been added. This release
+ also provides some bug fixes.
+ </p>
- <h3>December 18th, 2006 - Release of version 0.7</h3>
+ <hr width="80%" align="center" />
+
+ <h3>October 26th, 2006 - Release of version 0.5</h3>
+
+ <p>Version 0.5 of logback has been released.
+ </p>
- <p>
- Version 0.7 of logback has been released.
- </p>
-
- <p>
- Logback now ships with a new module: <em>log4j-bridge</em>. This new module
- can be used to intercept log4j calls and redirects them to logback components.
- More information about this module can be found in the corresponding
- <a href="bridge.html">documentation page</a>.
- </p>
-
- <p>
- The documentation has been vastly updated. Two new chapters,
- namely Filters and MDC, are available in the manual section.
- </p>
+ <p>This release offers a important improvements in Joran. In
+ particular, Joran can now replay configuration elements.
+ </p>
- <hr width="80%" align="center" />
+ <p>As in the previous release, a major area of work is the
+ documentation which is being continously improved.
+ </p>
- <h3>November 30th, 2006 - Release of version 0.6</h3>
+ <hr width="80%" align="center" />
+
+ <h3>October 9th, 2006 - Release of version 0.4</h3>
+
+ <p>Version 0.3 of logback has been released.
+ </p>
+
+ <p>This release includes an improved access module, with specific
+ implementations for the Jetty and Tomcat servers. Documentation was
+ also added to show how to integrate logback-access with Jetty.
+ </p>
- <p>Version 0.6 of logback has been released.
- </p>
+ <p>As for the classic module, several appenders and layouts have
+ been added or improved. The error reporting of logback has also
+ been enhanced, presenting the user with a link to an online page
+ explaining possible reasons for the error.
+ </p>
- <p>Logback classic now supports automatic configuration, allowing
- test and production environment
- configuration. <code>TurboFilters</code> make their first
- appearance in a logback release. They provide ultra-fast filtering
- possibilities. The logging context now supports listeners which
- will be contacted each time the context is reset or
- started. <code>SMTPAppender</code> allows for much more flexible
- configuration than before.
- </p>
-
- <p>
- In logback access, new Appenders are available, namely
- <code>SocketAppender</code> and <code>DBAppender</code>.
- Logback access now supports filtering and event evaluations. A
- <code>CountingFilter</code> has been added. It provides
- statistical views of server access, reachable via JMX.
- </p>
-
- <p>
- The documentation has also been improved. A complete new chapter
- has been added about Appenders, the short introduction to logback
- classic has been updated and a new module, containing many configuration
- examples has been added.
- </p>
-
- <p>
- Logback now uses continous integration in its development.
- </p>
-
- <p>
- Tests have been improved, many new have been added.
- This release also provides some bug fixes.
- </p>
-
- <hr width="80%" align="center" />
-
- <h3>October 26th, 2006 - Release of version 0.5</h3>
-
- <p>
- Version 0.5 of logback has been released.
- </p>
-
- <p>
- This release offers a important improvements in Joran. In
- particular, Joran can now replay configuration elements.
- </p>
-
- <p>
- As in the previous release, a major area of work is the
- documentation which is being continously improved.
- </p>
-
- <hr width="80%" align="center" />
-
- <h3>October 9th, 2006 - Release of version 0.4</h3>
- <p>
- Version 0.3 of logback has been released.
- </p>
-
- <p>
- This release includes an improved access module, with specific
- implementations for the Jetty and Tomcat servers. Documentation
- was also added to show how to integrate logback-access with
- Jetty.
- </p>
-
- <p>
- As for the classic module, several appenders and layouts have
- been added or improved. The error reporting of logback has also
- been enhanced, presenting the user with a link to an online page
- explaining possible reasons for the error.
- </p>
-
- <p>
- A joran documentation was added, with examples in the core
- module.
+ <p>A joran documentation was added, with examples in the core
+ module.
</p>
- <hr width="80%" align="center" />
-
- <h3>September 8th, 2006 - Release of version 0.3</h3>
- <p>
- Version 0.3 of logback has been released.
- </p>
-
- <p>
- This release offers several new Appenders, support for Mapped
- Diagnostic Context, improved tests and documentation<br />
- </p>
-
- <p>
- In response to a bug report by Rickard Nilsson on the logback
- mailing list, a bug affecting parametrized logging was fixed.
- </p>
-
- <p>
- We also released a <a
- href="http://logback.qos.ch/translator/">PropertiesTranslator</a>
- webapp that converts <em>log4j.properties</em> files to joran
- configuration files (in XML format).<br />
+ <hr width="80%" align="center" />
+
+ <h3>September 8th, 2006 - Release of version 0.3</h3>
+ <p>
+ Version 0.3 of logback has been released.
</p>
-
- <hr width="80%" align="center" />
-
- <h3>August 23th, 2006 - Release of version 0.2.5</h3>
-
- <p>
- Version 0.2.5 of logback has been released.
+
+ <p>This release offers several new Appenders, support for Mapped
+ Diagnostic Context, improved tests and documentation<br />
</p>
- <p>
- This release offers better documentation. With a number of
- correction mande in the short introduction to logback-classic.
- </p>
-
- <hr width="80%" align="center" />
-
-
- <h3>August 15th, 2006 - Release of version 0.2</h3>
- <p>
- Version 0.2 of logback has been released.
- </p>
-
- <p>
- It offers better tests, a few more functionalities, and enhanced
- documentation. We also improved the site design to make it
- simpler and more efficient.
+ <p>In response to a bug report by Rickard Nilsson on the logback
+ mailing list, a bug affecting parametrized logging was fixed.
</p>
- <hr width="80%" align="center" />
+ <p>We also released a <a
+ href="http://logback.qos.ch/translator/">PropertiesTranslator</a>
+ webapp that converts <em>log4j.properties</em> files to joran
+ configuration files (in XML format).<br />
+ </p>
- <h3>July 26th, 2006 - Release of version 0.1</h3>
+ <hr width="80%" align="center" />
+
+ <h3>August 23th, 2006 - Release of version 0.2.5</h3>
+
+ <p> Version 0.2.5 of logback has been released. </p>
- <p>
- Version 0.1 of logback has been released.
+ <p>This release offers better documentation. With a number of
+ correction mande in the short introduction to logback-classic.
</p>
+
+ <hr width="80%" align="center" />
+
+
+ <h3>August 15th, 2006 - Release of version 0.2</h3>
+
+ <p>Version 0.2 of logback has been released.</p>
- <hr width="80%" align="center" />
+ <p>It offers better tests, a few more functionalities, and enhanced
+ documentation. We also improved the site design to make it simpler
+ and more efficient.
+ </p>
- <h3>February 9th, 2006 - Logback web-site goes live</h3>
- <p>
- The logback web-site goes live on the 9th of February. At
- its present state, it is pretty primitive but updates will
- follow.
- </p>
-
-
-
-
-
+ <hr width="80%" align="center" />
+
+ <h3>July 26th, 2006 - Release of version 0.1</h3>
+
+ <p>Version 0.1 of logback has been released.</p>
+
+ <hr width="80%" align="center" />
+
+ <h3>February 9th, 2006 - Logback web-site goes live</h3>
+
+ <p>The logback web-site goes live on the 9th of February. At its
+ present state, it is pretty primitive but updates will follow.
+ </p>
+
-<script src="templates/footer.js"></script>
+ <script src="templates/footer.js" type="text/javascript"></script>
</div>
</body>
</html>
Modified: logback/trunk/logback-site/src/site/pages/repos.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/repos.html (original)
+++ logback/trunk/logback-site/src/site/pages/repos.html Tue Nov 11 16:13:01 2008
@@ -1,81 +1,66 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
-<title>Repository</title>
+ <head>
+ <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
+ <title>Repository</title>
<link rel="stylesheet" type="text/css" href="css/common.css" />
<link rel="stylesheet" type="text/css" href="css/screen.css" media="screen" />
<link rel="stylesheet" type="text/css" href="css/_print.css" media="print" />
-</head>
-<body>
- <script>
-prefix='';
-</script>
-
-<script src="templates/header.js"></script>
-<div id="left">
- <script src="templates/left.js"></script>
-</div>
-<div id="content">
+ </head>
+ <body>
+ <script type="text/javascript">prefix='';</script>
+ <script src="templates/header.js" type="text/javascript"></script>
+ <div id="left">
+ <script src="templates/left.js" type="text/javascript"></script>
+ </div>
+ <div id="content">
<div class="section">
<h2>Source Repository</h2>
</div>
- <p>
- We keep the source code in revision control systems called
- Subversion. Developers have write access to the Subversion
- repository, enabling them to make changes to the source
- code. Everyone has read access to the repositories, so you may
- download the most up-to-date development version of the
- software. Note that the latest version in the Subversion
- repository many not work as expected, it may not even compile
- properly. If you are looking for a stable release of the source
- code, you should download an official distribution instead of
- the latest version in the Subversion repositories.
+ <p>We store the project's source code in a revision control system
+ called Subversion. Developers have write access to the repository,
+ enabling them to make changes to the source code. Everyone else
+ has read-access to the repository. Thus, anyone can check out
+ latest development version of the software. Note that the latest
+ version in the repository may not work as expected. It may even
+ not compile. If you are looking for a stable release, then
+ download an official distribution.
+ </p>
+
+ <p>There are several ways to access the Subversion repository:</p>
+
+ <h2>Web Access</h2>
+
+ <p>If you just wish to browse around or download a few individual
+ files, you can do so with web-based ViewVC interface:
+ </p>
- There are several ways to access the Subversion
- repositories:
+ <p><a
+ href="http://svn.qos.ch/viewvc/logback/trunk/">http://svn.qos.ch/viewvc/logback/trunk/</a>
</p>
- <div class="section">
- <h2>Web Access</h2>
- </div>
- <p>
- If you just wish to browse around or download a few individual
- files, you can do so with web-based ViewVC interface:
- </p>
+ <h2>Checking out a read-only copy</h2>
- <p>
- <a
- href="http://svn.qos.ch/viewvc/logback/trunk/">http://svn.qos.ch/viewvc/logback/trunk/</a>
- </p>
-
- <div class="section">
- <h2>Checking out a read-only copy</h2>
- </div>
- <p>
- To access the Subversion repositories anonymously, you will need
- a Subversion client. You can check out the entire logback
- project with the following command:</p>
+ <p>To access the Subversion repositories anonymously, you will
+ need a Subversion client. You can check out the logback project
+ source code with the following command:</p>
- <div class="source">svn co http://svn.qos.ch/repos/logback/trunk/ target_directory</div>
+ <!-- keep together as a single line -->
+ <p class="source">svn co http://svn.qos.ch/repos/logback/trunk/ target_directory</p>
- <div class="section">
- <p>
- Note that anonymous access allows read-only access only. For
- read-write access please contact the logback <a
- href="mailinglist.html">developer list</a> .
- </p>
- </div>
-
-
-
+ <p>Note that anonymous access allows read-only access. For
+ read-write access, please contact the logback <a
+ href="mailinglist.html">developer list</a> .
+ </p>
-<script src="templates/footer.js"></script>
-</div>
+ <script src="templates/footer.js" type="text/javascript"></script>
+ </div>
</body>
</html>
Modified: logback/trunk/logback-site/src/site/pages/support.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/support.html (original)
+++ logback/trunk/logback-site/src/site/pages/support.html Tue Nov 11 16:13:01 2008
@@ -1,4 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
@@ -9,11 +11,11 @@
</head>
<body>
- <script>prefix='';</script>
+ <script type="text/javascript">prefix='';</script>
- <script src="templates/header.js"></script>
+ <script src="templates/header.js" type="text/javascript"></script>
<div id="left">
- <script src="templates/left.js"></script>
+ <script src="templates/left.js" type="text/javascript"></script>
</div>
<div id="content">
Modified: logback/trunk/logback-site/src/site/pages/team.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/team.html (original)
+++ logback/trunk/logback-site/src/site/pages/team.html Tue Nov 11 16:13:01 2008
@@ -1,4 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
1
0
11 Nov '08
[ http://jira.qos.ch/browse/LBCLASSIC-33?page=com.atlassian.jira.plugin.syste⦠]
Joern Huxhorn commented on LBCLASSIC-33:
----------------------------------------
For the record:
I was using
java version "1.6.0_10"
Java(TM) SE Runtime Environment (build 1.6.0_10-b33)
Java HotSpot(TM) Client VM (build 11.0-b15, mixed mode, sharing)
with tomcat 6.0.18
running on Win XP.
> unregistering in the jmx plugin
> -------------------------------
>
> Key: LBCLASSIC-33
> URL: http://jira.qos.ch/browse/LBCLASSIC-33
> Project: logback-classic
> Issue Type: Bug
> Components: Other
> Affects Versions: unspecified
> Environment: Operating System: All
> Platform: All
> Reporter: HontvÔri József
> Assignee: Ceki Gulcu
>
> I started using the JMX plugin of login, and I wondered how should I
> shut it down when a web application is restarted. I haven't found a
> function which unregisters the Configurator MBean. This object holds a
> reference (through ContextAwareBase) to a Context. I am afraid that not
> unregistering it causes a memory leak when a web application is restarted.
> There should be a way to shutdown the JMX plugin. Or more generally an API to shut down the Logback system in its entirety: flush buffers, close files etc. It must be decided what to do if a log request arrives when or after logback is shutting down.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.qos.ch/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
1
0
11 Nov '08
[ http://jira.qos.ch/browse/LBCLASSIC-33?page=com.atlassian.jira.plugin.syste⦠]
Joern Huxhorn commented on LBCLASSIC-33:
----------------------------------------
Hi Ceki,
I just tried the latest snapshot from svn with our hello-world and the whole classloader incl. all it's classes is now properly unloaded after undeploying the webapp.
I didn't call any methods on the logback jmx configurator, though“, but it was available in jconsole and was removed properly after undeployment.
So I'd consider this bug fixed.
Sorry, I didn't have the time to check your memory-dump.
Joern.
> unregistering in the jmx plugin
> -------------------------------
>
> Key: LBCLASSIC-33
> URL: http://jira.qos.ch/browse/LBCLASSIC-33
> Project: logback-classic
> Issue Type: Bug
> Components: Other
> Affects Versions: unspecified
> Environment: Operating System: All
> Platform: All
> Reporter: HontvÔri József
> Assignee: Ceki Gulcu
>
> I started using the JMX plugin of login, and I wondered how should I
> shut it down when a web application is restarted. I haven't found a
> function which unregisters the Configurator MBean. This object holds a
> reference (through ContextAwareBase) to a Context. I am afraid that not
> unregistering it causes a memory leak when a web application is restarted.
> There should be a way to shutdown the JMX plugin. Or more generally an API to shut down the Logback system in its entirety: flush buffers, close files etc. It must be decided what to do if a log request arrives when or after logback is shutting down.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.qos.ch/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
1
0
svn commit: r1959 - in logback/trunk/logback-site/src/site/pages: . manual templates
by noreply.cekiļ¼ qos.ch 11 Nov '08
by noreply.cekiļ¼ qos.ch 11 Nov '08
11 Nov '08
Author: ceki
Date: Tue Nov 11 12:39:39 2008
New Revision: 1959
Added:
logback/trunk/logback-site/src/site/pages/manual/menu.js
- copied unchanged from r1954, /logback/trunk/logback-site/src/site/pages/manual/index_menu.js
Removed:
logback/trunk/logback-site/src/site/pages/manual/index_menu.js
Modified:
logback/trunk/logback-site/src/site/pages/bugreport.html
logback/trunk/logback-site/src/site/pages/documentation.html
logback/trunk/logback-site/src/site/pages/download.html
logback/trunk/logback-site/src/site/pages/index.html
logback/trunk/logback-site/src/site/pages/license.html
logback/trunk/logback-site/src/site/pages/mailinglist.html
logback/trunk/logback-site/src/site/pages/manual/appenders.html
logback/trunk/logback-site/src/site/pages/manual/architecture.html
logback/trunk/logback-site/src/site/pages/manual/contextSelector.html
logback/trunk/logback-site/src/site/pages/manual/filters.html
logback/trunk/logback-site/src/site/pages/manual/index.html
logback/trunk/logback-site/src/site/pages/manual/introduction.html
logback/trunk/logback-site/src/site/pages/manual/jmxConfig.html
logback/trunk/logback-site/src/site/pages/manual/joran.html
logback/trunk/logback-site/src/site/pages/manual/layouts.html
logback/trunk/logback-site/src/site/pages/manual/mdc.html
logback/trunk/logback-site/src/site/pages/news.html
logback/trunk/logback-site/src/site/pages/repos.html
logback/trunk/logback-site/src/site/pages/support.html
logback/trunk/logback-site/src/site/pages/team.html
logback/trunk/logback-site/src/site/pages/templates/creative.js
logback/trunk/logback-site/src/site/pages/templates/header.js
logback/trunk/logback-site/src/site/pages/templates/left.js
Log:
- as a result of renaming and refactoring of css files, updating references in html files
Modified: logback/trunk/logback-site/src/site/pages/bugreport.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/bugreport.html (original)
+++ logback/trunk/logback-site/src/site/pages/bugreport.html Tue Nov 11 12:39:39 2008
@@ -1,90 +1,90 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
-<title>Bug report</title>
-<link rel="stylesheet" type="text/css" media="screen" href="css/site.css" />
-</head>
-<body>
- <script>
-prefix='';
-</script>
-
-<script src="templates/header.js"></script>
-<div id="left">
- <script src="templates/left.js"></script>
-</div>
-<div id="content">
+ <head>
+ <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
+ <title>Bug report</title>
+ <link rel="stylesheet" type="text/css" href="css/common.css" />
+ <link rel="stylesheet" type="text/css" href="css/screen.css" media="screen" />
+ <link rel="stylesheet" type="text/css" href="css/_print.css" media="print" />
+ </head>
+ <body>
+ <script>prefix='';</script>
+
+ <script src="templates/header.js"></script>
+ <div id="left">
+ <script src="templates/left.js"></script>
+ </div>
+ <div id="content">
-<h2>Before you report a bug</h2>
+ <h2>Before you report a bug</h2>
- <p>The logback community consists of those who use logback and its
- modules, help answer questions on discussions lists, contribute
- documentation and patches, and those who develop and maintain its
- code. Almost all those who assist on a day to day basis resolving
- bug reports do this for a wide variety of reasons, and almost all of
- them do this on their own time.</p>
-
- <p>Many bugs reported end up not being a bug in logback, but are due
- to misconfiguration, problems caused by installed applications, the
- operating system, etc.
- </p>
-
- <p>Before reporting a bug please make every effort to resolve the
- problem yourself. Just reporting a bug will not fix it. A good bug
- report includes a detailed description of the problem and a succinct
- test case which can reproduce the problem.
- </p>
-
- <h3>Review the documentation</h3>
-
- <p>Review the documentation for the version of component you are
- using. The problem you are having may already be addressed in the
- docs.
- </p>
-
- <h3>Search the mailing list archives</h3>
-
- <p>It is very likely you are not the first to run into a problem.
- Others may have already found a solution. Our various mailing lists
- are likely to have discussed this problem before.
- </p>
-
- <h3>Search JIRA</h3>
-
- <p>Please search the bug database to see if the bug you are seeing
- has already been reported. The bug may have already been fixed and
- is available in a later version. If someone else has reported the
- same bug, you could add supporting information to help reproduce and
- resolve the bug.
- </p>
-
- <ul>
- <li><a href="http://jira.qos.ch/secure/IssueNavigator.jspa">Search
- for logback bugs</a></li>
- </ul>
-
- <h2>Reporting with bugs</h2>
-
- <p> Only after you have exhausted the aforementioned steps, should
- you file a formal report in JIRA, our bug tracking system.
- </p>
-
- <p>Please make sure you provide as much information as possible.
- Its very hard to fix a bug if the person looking into the problem
- can't reproduce it.
- </p>
-
- <ul>
- <li><a
- href="http://jira.qos.ch/secure/CreateIssue!default.jspa">Report
- new logback bug</a></li>
- </ul>
-
-<script src="templates/footer.js"></script>
+ <p>The logback community consists of those who use logback and its
+ modules, help answer questions on discussions lists, contribute
+ documentation and patches, and those who develop and maintain its
+ code. Almost all those who assist on a day to day basis resolving
+ bug reports do this for a wide variety of reasons, and almost all
+ of them do this on their own time.</p>
+
+ <p>Many bugs reported end up not being a bug in logback, but are
+ due to misconfiguration, problems caused by installed
+ applications, the operating system, etc.
+ </p>
+
+ <p>Before reporting a bug please make every effort to resolve the
+ problem yourself. Just reporting a bug will not fix it. A good
+ bug report includes a detailed description of the problem and a
+ succinct test case which can reproduce the problem.
+ </p>
+
+ <h3>Review the documentation</h3>
+
+ <p>Review the documentation for the version of component you are
+ using. The problem you are having may already be addressed in the
+ docs.
+ </p>
+
+ <h3>Search the mailing list archives</h3>
+
+ <p>It is very likely you are not the first to run into a problem.
+ Others may have already found a solution. Our various mailing lists
+ are likely to have discussed this problem before.
+ </p>
+
+ <h3>Search JIRA</h3>
+
+ <p>Please search the bug database to see if the bug you are seeing
+ has already been reported. The bug may have already been fixed
+ and is available in a later version. If someone else has reported
+ the same bug, you could add supporting information to help
+ reproduce and resolve the bug.
+ </p>
+
+ <ul>
+ <li><a href="http://jira.qos.ch/secure/IssueNavigator.jspa">Search
+ for logback bugs</a></li>
+ </ul>
+
+ <h2>Reporting with bugs</h2>
+
+ <p>Only after you have exhausted the aforementioned steps, should
+ you file a formal report in JIRA, our bug tracking system.
+ </p>
+
+ <p>Please make sure you provide as much information as possible.
+ Its very hard to fix a bug if the person looking into the problem
+ can't reproduce it.
+ </p>
+
+ <ul>
+ <li><a
+ href="http://jira.qos.ch/secure/CreateIssue!default.jspa">Report
+ new logback bug</a></li>
+ </ul>
+
+ <script src="templates/footer.js"></script>
</div>
</body>
</html>
Modified: logback/trunk/logback-site/src/site/pages/documentation.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/documentation.html (original)
+++ logback/trunk/logback-site/src/site/pages/documentation.html Tue Nov 11 12:39:39 2008
@@ -1,22 +1,22 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
-<title>Documentation</title>
-<link rel="stylesheet" type="text/css" media="screen" href="css/site.css" />
-</head>
-<body>
- <script>
-prefix='';
-</script>
-
-<script src="templates/header.js"></script>
-<div id="left">
- <script src="templates/left.js"></script>
-</div>
-
-<div id="content">
-
+ <head>
+ <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
+ <title>Documentation</title>
+ <link rel="stylesheet" type="text/css" href="css/common.css" />
+ <link rel="stylesheet" type="text/css" href="css/screen.css" media="screen" />
+ <link rel="stylesheet" type="text/css" href="css/_print.css" media="print" />
+ </head>
+ <body>
+ <script type="text/javascript">prefix='';</script>
+
+ <script src="templates/header.js" type="text/javascript"></script>
+ <div id="left">
+ <script src="templates/left.js" type="text/javascript"></script>
+ </div>
+
+ <div id="content">
+
<h2>Logback documentation</h2>
<p>Below is a list of logback-related documentaiton currently
@@ -84,7 +84,7 @@
</ul>
-<script src="templates/footer.js"></script>
+ <script src="templates/footer.js" type="text/javascript"></script>
</div>
</body>
</html>
Modified: logback/trunk/logback-site/src/site/pages/download.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/download.html (original)
+++ logback/trunk/logback-site/src/site/pages/download.html Tue Nov 11 12:39:39 2008
@@ -1,20 +1,22 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
-<title>Download</title>
-<link rel="stylesheet" type="text/css" media="screen" href="css/site.css" />
-</head>
-<body>
+ <head>
+ <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
+ <title>Download</title>
+ <link rel="stylesheet" type="text/css" href="css/common.css" />
+ <link rel="stylesheet" type="text/css" href="css/screen.css" media="screen" />
+ <link rel="stylesheet" type="text/css" href="css/_print.css" media="print" />
+ </head>
+ <body>
<script>
-prefix='';
-</script>
+ prefix='';
+ </script>
-<script src="templates/header.js"></script>
-<div id="left">
- <script src="templates/left.js"></script>
-</div>
-<div id="content">
+ <script src="templates/header.js"></script>
+ <div id="left">
+ <script src="templates/left.js"></script>
+ </div>
+ <div id="content">
<div class="section">
Modified: logback/trunk/logback-site/src/site/pages/index.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/index.html (original)
+++ logback/trunk/logback-site/src/site/pages/index.html Tue Nov 11 12:39:39 2008
@@ -1,22 +1,21 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
-<title>Logback Home</title>
-<link rel="stylesheet" type="text/css" media="screen" href="css/site.css" />
-</head>
-<body>
- <script>
-prefix='';
-</script>
-
-<script src="templates/header.js"></script>
-<div id="left">
- <script src="templates/left.js"></script>
-</div>
-<div id="content">
-
-
+ <head>
+ <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
+ <title>Logback Home</title>
+ <link rel="stylesheet" type="text/css" href="css/common.css" />
+ <link rel="stylesheet" type="text/css" href="css/screen.css" media="screen" />
+ <link rel="stylesheet" type="text/css" href="css/_print.css" media="print" />
+
+ </head>
+ <body>
+ <script type="text/javascript">prefix='';</script>
+ <script src="templates/header.js" type="text/javascript"></script>
+ <div id="left">
+ <script src="templates/left.js" type="text/javascript"></script>
+ </div>
+ <div id="content">
+
<h2>Logback Project</h2>
<p>Logback is intended as a successor to the popular log4j
@@ -54,7 +53,7 @@
logback-core.
</p>
-<script src="templates/footer.js"></script>
-</div>
-</body>
+ <script src="templates/footer.js" type="text/javascript"></script>
+ </div>
+ </body>
</html>
Modified: logback/trunk/logback-site/src/site/pages/license.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/license.html (original)
+++ logback/trunk/logback-site/src/site/pages/license.html Tue Nov 11 12:39:39 2008
@@ -1,33 +1,34 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
-<title>License</title>
-<link rel="stylesheet" type="text/css" media="screen" href="css/site.css" />
-</head>
-<body>
-<script>
-prefix='';
-</script>
-
-<script src="templates/header.js"></script>
-<div id="left">
- <script src="templates/left.js"></script>
-</div>
-<div id="content">
-
- <div class="section">
- <h2>Logback License</h2>
- </div>
+ <head>
+ <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
+ <title>License</title>
+ <link rel="stylesheet" type="text/css" href="css/common.css" />
+ <link rel="stylesheet" type="text/css" href="css/screen.css" media="screen" />
+ <link rel="stylesheet" type="text/css" href="css/_print.css" media="print" />
+
+ </head>
+ <body>
+ <script>prefix='';</script>
+
+ <script src="templates/header.js"></script>
+ <div id="left">
+ <script src="templates/left.js"></script>
+ </div>
+ <div id="content">
+
+ <div class="section">
+ <h2>Logback License</h2>
+ </div>
- <p>Logback source code and binaries are distributed under the <a
- href="http://www.gnu.org/licenses/lgpl-2.1.html">GNU Lesser General
- Public License version 2.1</a> as published by the Free Software
- Foundation.
- </p>
+ <p>Logback source code and binaries are distributed under the <a
+ href="http://www.gnu.org/licenses/lgpl-2.1.html">GNU Lesser General
+ Public License version 2.1</a> as published by the Free Software
+ Foundation.
+ </p>
- <div class="source"><pre>Logback: the reliable, generic, fast and flexible logging library for Java.
+ <p class="source">Logback: the reliable, generic, fast and flexible logging library for Java.
Copyright (C) 2000-2008, QOS.ch
@@ -45,21 +46,21 @@
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
-</pre></div>
-
-<!-- =========================================== -->
-
-<p>Please note that logback is intended to be used behind the SLF4J
-API, which is licensed under <a
-href="http://www.slf4j.org/license.html">an X11 type license</a>.
-</p>
-
-<p>If you wish to make a significant contribution to the logback
-project, we invite you to file <a href="cla.txt">Contributor License
-Agreement</a>. The purpose of this agreement is to formalize the terms
-of your contribution and to protect the project in case of litigation.
-</p>
+ </p>
+ <!-- =========================================== -->
+
+ <p>Please note that logback is intended to be used behind the SLF4J
+ API, which is licensed under <a
+ href="http://www.slf4j.org/license.html">an X11 type license</a>.
+ </p>
+
+ <p>If you wish to make a significant contribution to the logback
+ project, we invite you to file <a href="cla.txt">Contributor License
+ Agreement</a>. The purpose of this agreement is to formalize the terms
+ of your contribution and to protect the project in case of litigation.
+ </p>
+
<script src="templates/footer.js"></script>
</div>
</body>
Modified: logback/trunk/logback-site/src/site/pages/mailinglist.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/mailinglist.html (original)
+++ logback/trunk/logback-site/src/site/pages/mailinglist.html Tue Nov 11 12:39:39 2008
@@ -3,7 +3,10 @@
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<title>Mailing lists</title>
-<link rel="stylesheet" type="text/css" media="screen" href="css/site.css" />
+
+ <link rel="stylesheet" type="text/css" href="css/common.css" />
+ <link rel="stylesheet" type="text/css" href="css/screen.css" media="screen" />
+ <link rel="stylesheet" type="text/css" href="css/_print.css" media="print" />
</head>
<body>
<script>
Modified: logback/trunk/logback-site/src/site/pages/manual/appenders.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/manual/appenders.html (original)
+++ logback/trunk/logback-site/src/site/pages/manual/appenders.html Tue Nov 11 12:39:39 2008
@@ -1,47 +1,42 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
-<title>Chapter 4: Appenders</title>
-<link rel="stylesheet" type="text/css" media="screen" href="../css/site.css" />
-<link rel="stylesheet" type="text/css" media="print" href="../css/sitePrint.css" />
-
-</head>
-<body>
-<script>
- prefix='../';
-</script>
-<script src="../templates/header.js"></script>
-<div id="left">
-
-<script src="../templates/left.js" language="JavaScript" type="text/javascript">
-</script>
-
-</div>
-
-<div id="right">
- <script src="index_menu.js"></script>
-</div>
-
-<div id="content">
-
- <h1>Chapter 4: Appenders</h1>
-
- <div class="quote">
-
- <p><em>There is so much to tell about the Western country in that
- day that it is hard to know where to start. One thing sets off a
- hundred others. The problem is to decide which one to tell
- first.</em></p>
+ <head>
+ <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
+ <title>Chapter 4: Appenders</title>
+ <link rel="stylesheet" type="text/css" href="../css/common.css" />
+ <link rel="stylesheet" type="text/css" href="../css/screen.css" media="screen" />
+ <link rel="stylesheet" type="text/css" href="../css/_print.css" media="print" />
+
+ </head>
+ <body>
+ <script type="text/javascript">prefix='../';</script>
+ <script src="../templates/header.js" type="text/javascript"></script>
+ <div id="left">
+ <script src="../templates/left.js" type="text/javascript"></script>
+ </div>
+ <div id="right">
+ <script src="menu.js" type="text/javascript"></script>
+ </div>
+
+ <div id="content">
+
+ <h1>Chapter 4: Appenders</h1>
+
+ <div class="quote">
+
+ <p><em>There is so much to tell about the Western country in
+ that day that it is hard to know where to start. One thing sets
+ off a hundred others. The problem is to decide which one to tell
+ first.</em></p>
- <p>—JOHN STEINBECK, <em>East of Eden</em></p>
- </div>
+ <p>—JOHN STEINBECK, <em>East of Eden</em></p>
+ </div>
- <script src="../templates/creative.js"></script>
- <script src="../templates/setup.js"></script>
+ <script src="../templates/creative.js" type="text/javascript"></script>
+ <script src="../templates/setup.js" type="text/javascript"></script>
- <h2>What is an Appender?</h2>
+ <h2>What is an Appender?</h2>
<p>Logback delegates the task of writing a logging event to
components called appenders. Appenders must implement the <a
@@ -3309,10 +3304,10 @@
</p>
-<script src="../templates/footer.js"></script>
-
+ <script src="../templates/footer.js" type="text/javascript"></script>
-</div>
+ </div>
+
</body>
</html>
Modified: logback/trunk/logback-site/src/site/pages/manual/architecture.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/manual/architecture.html (original)
+++ logback/trunk/logback-site/src/site/pages/manual/architecture.html Tue Nov 11 12:39:39 2008
@@ -1,24 +1,25 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
-<title>Chapter 2: Architecture</title>
-<link rel="stylesheet" type="text/css" media="screen" href="../css/site.css" />
-<link rel="stylesheet" type="text/css" media="print" href="../css/sitePrint.css" />
-
-</head>
-<body>
- <script>
-prefix='../';
-</script>
-<script src="../templates/header.js"></script>
-<div id="left">
- <script src="../templates/left.js"></script>
-</div>
-<div id="right">
- <script src="index_menu.js"></script>
-</div>
-<div id="content">
+ <head>
+ <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
+ <title>Chapter 2: Architecture</title>
+ <link rel="stylesheet" type="text/css" href="../css/common.css" />
+ <link rel="stylesheet" type="text/css" href="../css/screen.css" media="screen" />
+ <link rel="stylesheet" type="text/css" href="../css/_print.css" media="print" />
+
+ </head>
+ <body>
+ <script type="text/javascript">
+ prefix='../';
+ </script>
+ <script src="../templates/header.js" type="text/javascript"></script>
+ <div id="left">
+ <script src="../templates/left.js" type="text/javascript"></script>
+ </div>
+ <div id="right">
+ <script src="menu.js" type="text/javascript"></script>
+ </div>
+ <div id="content">
<h1>Chapter 2: Architecture</h1>
@@ -36,7 +37,7 @@
</div>
- <script src="../templates/creative.js"></script>
+ <script src="../templates/creative.js" type="text/javascript"></script>
<h2>Logback's architecture</h2>
@@ -885,7 +886,7 @@
</p>
-<script src="../templates/footer.js"></script>
+ <script src="../templates/footer.js" type="text/javascript"></script>
</div>
</body>
</html>
Modified: logback/trunk/logback-site/src/site/pages/manual/contextSelector.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/manual/contextSelector.html (original)
+++ logback/trunk/logback-site/src/site/pages/manual/contextSelector.html Tue Nov 11 12:39:39 2008
@@ -1,48 +1,47 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
-<title>Chapter 8: Context Selector</title>
-<link rel="stylesheet" type="text/css" media="screen" href="../css/site.css" />
-<link rel="stylesheet" type="text/css" media="print" href="../css/sitePrint.css" />
-
-</head>
-<body>
- <script>
-prefix='../';
-</script>
-<script src="../templates/header.js"></script>
-<div id="left">
- <script src="../templates/left.js"></script>
-</div>
-<div id="right">
- <script src="index_menu.js"></script>
-</div>
-<div id="content">
+ <head>
+ <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
+ <title>Chapter 8: Context Selector</title>
+ <link rel="stylesheet" type="text/css" href="../css/common.css" />
+ <link rel="stylesheet" type="text/css" href="../css/screen.css" media="screen" />
+ <link rel="stylesheet" type="text/css" href="../css/_print.css" media="print" />
+
+ </head>
+ <body>
+ <script type="text/javascript">prefix='../';</script>
+ <script src="../templates/header.js" type="text/javascript"></script>
+ <div id="left">
+ <script src="../templates/left.js" type="text/javascript"></script>
+ </div>
+ <div id="right">
+ <script src="menu.js" type="text/javascript"></script>
+ </div>
+ <div id="content">
- <h2>Chapter 9: Context Selectors</h2>
-
- <div class="quote">
- <p><em>It is not knowledge, but the act of learning, not
- possession but the act of getting there, which grants the greatest
- enjoyment. When I have clarified and exhausted a subject, then I
- turn away from it, in order to go into darkness again; the
- never-satisfied man is so strange if he has completed a structure,
- then it is not in order to dwell in it peacefully, but in order to
- begin another. I imagine the world conqueror must feel thus, who,
- after one kingdom is scarcely conquered, stretches out his arms
- for others.</em></p>
-
- <p>—KARL FRIEDRICH GAUSS, Letter to Bolyai, 1808.</p>
-
- <p><em>Style, like sheer silk, too often hides eczema.</em></p>
-
- <p>—ALBERT CAMUS, <em>The Fall</em></p>
+ <h2>Chapter 9: Context Selectors</h2>
+
+ <div class="quote">
+ <p><em>It is not knowledge, but the act of learning, not
+ possession but the act of getting there, which grants the greatest
+ enjoyment. When I have clarified and exhausted a subject, then I
+ turn away from it, in order to go into darkness again; the
+ never-satisfied man is so strange if he has completed a structure,
+ then it is not in order to dwell in it peacefully, but in order to
+ begin another. I imagine the world conqueror must feel thus, who,
+ after one kingdom is scarcely conquered, stretches out his arms
+ for others.</em></p>
+
+ <p>—KARL FRIEDRICH GAUSS, Letter to Bolyai, 1808.</p>
+
+ <p><em>Style, like sheer silk, too often hides eczema.</em></p>
+
+ <p>—ALBERT CAMUS, <em>The Fall</em></p>
- </div>
+ </div>
- <script src="../templates/creative.js"></script>
- <script src="../templates/setup.js"></script>
+ <script src="../templates/creative.js" type="text/javascript"></script>
+ <script src="../templates/setup.js" type="text/javascript"></script>
<h3>Introduction</h3>
@@ -131,10 +130,10 @@
<em>Configuration</em> element:
</p>
-<div class="source"><pre><Call class="java.lang.System" name="setProperty">
+ <p class="source"><Call class="java.lang.System" name="setProperty">
<Arg>logback.ContextSelector</Arg>
<Arg>JNDI</Arg>
-</Call></pre></div>
+</Call></p>
<p>Be aware that adding a <em>-Dlogback.ContextSelector=JNDI</em>
to the java command when starting the server will not work. By
@@ -176,35 +175,34 @@
xml configuration file. It can be declared as shown below:
</p>
-<div class="source"><pre><env-entry>
+ <p class="source"><env-entry>
<description>URL for configuring logback context</description>
<env-entry-name>logback/configuration-resource</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>logback-app-A.xml</env-entry-value>
-</env-entry></pre></div>
+</env-entry></p>
<p>Specifying only the name of the file will lead logback to search
for it in the Web application's <em>WEB-INF/classes/</em>
directory.</p>
- <p>
- When the Web application is recycled or shutdown, it is very often
- useful to recycle the associated <code>LoggerContext</code>. This
- can be done by installing a <code>ServletContextListener</code>
- which will detach the context from the <code>ContextSelector</code>
- and shut it down.
+ <p>When the Web application is recycled or shutdown, it is very
+ often useful to recycle the associated
+ <code>LoggerContext</code>. This can be done by installing a
+ <code>ServletContextListener</code> which will detach the context
+ from the <code>ContextSelector</code> and shut it down.
</p>
-<p>
-The <a href="../xref/ch/qos/logback/classic/selector/servlet/ContextDetachingSCL.html">
-<code>ContextDetachingSCL</code></a> class which
-ships with logback does exactly that. To use it, add the following
-lines to your Web application's <em>web.xml</em> file.
-</p>
+ <p>The <a
+ href="../xref/ch/qos/logback/classic/selector/servlet/ContextDetachingSCL.html">
+ <code>ContextDetachingSCL</code></a> class which ships with logback
+ does exactly that. To use it, add the following lines to your Web
+ application's <em>web.xml</em> file.
+ </p>
-<div class="source"><pre><listener>
+ <p class="source"><listener>
<listener-class>ch.qos.logback.classic.selector.servlet.ContextDetachingSCL</listener-class>
-</listener></pre></div>
+</listener></p>
<p>Using the <code>ContextJNDISelector</code> might slow down your
@@ -233,27 +231,26 @@
<code>LoggerContext</code>.
</p>
- <p>The <code>LoggerContextFilter</code> can be used by adding the following
-lines to your Web application's <em>web.xml</em> file.
-</p>
+ <p>The <code>LoggerContextFilter</code> can be used by adding the
+ following lines to your Web application's <em>web.xml</em> file.
+ </p>
-<div class="source"><pre><filter>
+ <p class="source"><filter>
<filter-name>LoggerContextFilter</filter-name>
<filter-class>ch.qos.logback.classic.selector.servlet.LoggerContextFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>LoggerContextFilter</filter-name>
<url-pattern>/*</url-pattern>
-</filter-mapping></pre></div>
+</filter-mapping></p>
-<h4>Some recommandations</h4>
+ <h4>Some recommandations</h4>
-<p>
-To avoid confusion, it is prudent to name each Web application
-in the <em>web.xml</em> file, as in:
-</p>
+ <p>To avoid confusion, it is prudent to name each Web application in
+ the <em>web.xml</em> file, as in:
+ </p>
-<div class="source"><pre><display-name>Name_Of_My_WebApp</display-name></pre></div>
+ <p class="source"><display-name>Name_Of_My_WebApp</display-name></p>
<p>We recommend that you name logback configuration resources
uniquely. In particualar, avoid naming the logback configuration
@@ -272,9 +269,9 @@
configured using the same file as that used to configure the default
context. Such involuntary sharing of the same configuration by
multiple repositories will result in corrupt log output.
-</p>
+ </p>
-<script src="../templates/footer.js"></script>
+ <script src="../templates/footer.js" type="text/javascript"></script>
</div>
</body>
</html>
Modified: logback/trunk/logback-site/src/site/pages/manual/filters.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/manual/filters.html (original)
+++ logback/trunk/logback-site/src/site/pages/manual/filters.html Tue Nov 11 12:39:39 2008
@@ -1,36 +1,36 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
-<title>Chapter 6: Filters</title>
-<link rel="stylesheet" type="text/css" media="screen" href="../css/site.css" />
-<link rel="stylesheet" type="text/css" media="print" href="../css/sitePrint.css" />
-
-</head>
-<body>
- <script>
-prefix='../';
-</script>
-<script src="../templates/header.js"></script>
-<div id="left">
- <script src="../templates/left.js"></script>
-</div>
-<div id="right">
- <script src="index_menu.js"></script>
-</div>
-<div id="content">
+ <head>
+ <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
+ <title>Chapter 6: Filters</title>
+ <link rel="stylesheet" type="text/css" href="../css/common.css" />
+ <link rel="stylesheet" type="text/css" href="../css/screen.css" media="screen" />
+ <link rel="stylesheet" type="text/css" href="../css/_print.css" media="print" />
+
+
+ </head>
+ <body>
+ <script type="text/javascript">prefix='../';</script>
+ <script src="../templates/header.js" type="text/javascript"></script>
+ <div id="left">
+ <script src="../templates/left.js" type="text/javascript"></script>
+ </div>
+ <div id="right">
+ <script src="menu.js" type="text/javascript"></script>
+ </div>
+ <div id="content">
- <h1>Chapter 6: Filter chains</h1>
+ <h1>Chapter 6: Filter chains</h1>
- <div class="quote">
- <p><em>Have lots of ideas and throw away the bad ones. You aren't
- going to have good ideas unless you have lots of ideas and some
- sort of principle of selection.</em></p>
+ <div class="quote">
+ <p><em>Have lots of ideas and throw away the bad ones. You aren't
+ going to have good ideas unless you have lots of ideas and some
+ sort of principle of selection.</em></p>
+
+ <p>—LINUS PAULING</p>
+ </div>
- <p>—LINUS PAULING</p>
- </div>
-
- <script src="../templates/creative.js"></script>
+ <script src="../templates/creative.js" type="text/javascript"></script>
<p>As we have seen, logback has several built-in ways for
@@ -44,7 +44,7 @@
filtering policy.
</p>
- <script src="../templates/setup.js"></script>
+ <script src="../templates/setup.js" type="text/javascript"></script>
<p>
There are two main types of filters, namely <code>Filter</code> and
@@ -706,8 +706,8 @@
CSS resources. Here is what such a configuration would look like:
</p>
-<em>Example 6.10: Access Evaluator (logback-examples/src/main/java/chapter6/accessEventEvaluator2.xml)</em>
-<div class="source"><pre><configuration>
+ <em>Example 6.10: Access Evaluator (logback-examples/src/main/java/chapter6/accessEventEvaluator2.xml)</em>
+ <p class="source"><configuration>
<appender name="STDOUT"
class="ch.qos.logback.core.ConsoleAppender">
@@ -733,8 +733,11 @@
</appender>
<appender-ref ref="STDOUT" />
-</configuration></pre></div>
-
- </div>
+</configuration>
+ </p>
+
+ <script src="../templates/footer.js" type="text/javascript"></script>
+
+ </div>
</body>
</html>
Modified: logback/trunk/logback-site/src/site/pages/manual/index.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/manual/index.html (original)
+++ logback/trunk/logback-site/src/site/pages/manual/index.html Tue Nov 11 12:39:39 2008
@@ -1,24 +1,26 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
-<title>Logback Manual</title>
-<link rel="stylesheet" type="text/css" media="screen" href="../css/site.css" />
-</head>
-<body>
- <script>
-prefix='../';
-</script>
-<script src="../templates/header.js"></script>
-<div id="left">
- <script src="../templates/left.js"></script>
-</div>
-<div id="right">
- <script src="index_menu.js"></script>
-</div>
-<div id="content">
-
- <h2>The logback manual</h2>
+ <head>
+ <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
+ <title>Logback Manual</title>
+
+ <link rel="stylesheet" type="text/css" href="../css/common.css" />
+ <link rel="stylesheet" type="text/css" href="../css/screen.css" media="screen" />
+ <link rel="stylesheet" type="text/css" href="../css/_print.css" media="print" />
+
+ </head>
+ <body>
+ <script type="text/javascript">prefix='../';</script>
+ <script src="../templates/header.js" type="text/javascript"></script>
+ <div id="left">
+ <script src="../templates/left.js" type="text/javascript"></script>
+ </div>
+ <div id="right">
+ <script src="menu.js" type="text/javascript"></script>
+ </div>
+ <div id="content">
+
+ <h2>The logback manual</h2>
<p>The complete logback manual documents the latest version of
logback framework. In over 140 pages and dozens of concrete
@@ -100,9 +102,13 @@
<a href="contextSelector.html"><b>Chapter 8: Context Selector</b></a>
</p></li>
+ <li><p>
+ <a href="jmxConfigurator.html"><b>Chapter 9: JMX Configurator</b></a>
+ </p></li>
</ul>
</div>
-<script src="../templates/footer.js"></script>
-</div>
-</body>
+
+ <script src="../templates/footer.js" type="text/javascript"></script>
+ </div>
+ </body>
</html>
Modified: logback/trunk/logback-site/src/site/pages/manual/introduction.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/manual/introduction.html (original)
+++ logback/trunk/logback-site/src/site/pages/manual/introduction.html Tue Nov 11 12:39:39 2008
@@ -1,60 +1,59 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
-<title>Chapter 1: Introduction</title>
-<link rel="stylesheet" type="text/css" media="screen" href="../css/site.css" />
-<link rel="stylesheet" type="text/css" media="print" href="../css/sitePrint.css"/>
-
-</head>
-<body>
- <script>
-prefix='../';
-</script>
-<script src="../templates/header.js"></script>
-<div id="left">
- <script src="../templates/left.js"></script>
-</div>
-<div id="right">
- <script src="index_menu.js"></script>
-</div>
-<div id="content">
-
- <h1>Introduction</h1>
-
- <div class="quote">
- <p><em> The morale effects are startling. Enthusiasm jumps when
- there is a running system, even a simple one. Efforts redouble when
- the first picture from a new graphics software system appears on the
- screen, even if it is only a rectangle. One always has, at every
- stage in the process, a working system. I find that teams can grow
- much more complex entities in four months than they can
- build.</em></p>
+ <head>
+ <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
+ <title>Chapter 1: Introduction</title>
+ <link rel="stylesheet" type="text/css" href="../css/common.css" />
+ <link rel="stylesheet" type="text/css" href="../css/screen.css" media="screen" />
+ <link rel="stylesheet" type="text/css" href="../css/_print.css" media="print" />
+
- <p>—FREDERIC P. BROOKS, JR., <em>The Mythical Man-Month</em></p>
- </div>
+ </head>
+ <body>
+ <script type="text/javascript">prefix='../';</script>
+ <script src="../templates/header.js" type="text/javascript"> </script>
+ <div id="left">
+ <script src="../templates/left.js" type="text/javascript"></script>
+ </div>
+ <div id="right">
+ <script src="menu.js" type="text/javascript"></script>
+ </div>
+ <div id="content">
+
+ <h1>Introduction</h1>
+
+ <div class="quote">
+ <p><em> The morale effects are startling. Enthusiasm jumps when
+ there is a running system, even a simple one. Efforts redouble when
+ the first picture from a new graphics software system appears on the
+ screen, even if it is only a rectangle. One always has, at every
+ stage in the process, a working system. I find that teams can grow
+ much more complex entities in four months than they can
+ build.</em></p>
+
+ <p>—FREDERIC P. BROOKS, JR., <em>The Mythical Man-Month</em></p>
+ </div>
- <script src="../templates/creative.js"></script>
+ <script src="../templates/creative.js" type="text/javascript"></script>
<h2>What is logback?</h2>
- <p>
- Logback is intended as a successor to the popular log4j project.
- It was designed by Ceki Gülcü, log4j's founder. It
- builds upon a decade long experience gained in designing
- industrial-strength logging systems. The resulting product,
- logback is faster with a smaller footprint than all existing
- logging systems, sometimes by a wide margin. Logback also offers
- unique and rather useful features such as Markers, parameterized
- logging statements, conditional stack tracing and powerful event
- filtering. These are only few examples of useful features
- logback has to offer. For its own error reporting, logback
- relies on <code>Status</code> objects, which greatly facilitate
- troubleshooting. You may wish to rely on Status objects in
- contexts other than logging. Logback-core bundles Joran, a
- powerful and generic configuration system, which can be put to
- use in your own projects to great effect.
+ <p>Logback is intended as a successor to the popular log4j
+ project. It was designed by Ceki Gülcü, log4j's
+ founder. It builds upon a decade long experience gained in
+ designing industrial-strength logging systems. The resulting
+ product, logback is faster with a smaller footprint than all
+ existing logging systems, sometimes by a wide margin. Logback also
+ offers unique and rather useful features such as Markers,
+ parameterized logging statements, conditional stack tracing and
+ powerful event filtering. These are only few examples of useful
+ features logback has to offer. For its own error reporting,
+ logback relies on <code>Status</code> objects, which greatly
+ facilitate troubleshooting. You may wish to rely on Status objects
+ in contexts other than logging. Logback-core bundles Joran, a
+ powerful and generic configuration system, which can be put to use
+ in your own projects to great effect.
</p>
<h2>First Baby Step</h2>
@@ -283,7 +282,7 @@
</table>
-<script src="../templates/footer.js"></script>
+ <script src="../templates/footer.js" type="text/javascript"></script>
</div>
</body>
</html>
Modified: logback/trunk/logback-site/src/site/pages/manual/jmxConfig.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/manual/jmxConfig.html (original)
+++ logback/trunk/logback-site/src/site/pages/manual/jmxConfig.html Tue Nov 11 12:39:39 2008
@@ -2,8 +2,11 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
- <link rel="stylesheet" type="text/css" href="../css/site.css" media="screen" />
- <link rel="stylesheet" type="text/css" href="../css/sitePrint.css" media="print" />
+
+ <link rel="stylesheet" type="text/css" href="../css/common.css" />
+ <link rel="stylesheet" type="text/css" href="../css/screen.css" media="screen" />
+ <link rel="stylesheet" type="text/css" href="../css/_print.css" media="print" />
+
<title>JMX Configuration</title>
</head>
<body>
@@ -15,7 +18,7 @@
<script src="../templates/left.js" type="text/javascript"></script>
</div>
<div id="right">
- <script src="index_menu.js" type="text/javascript"></script>
+ <script src="menu.js" type="text/javascript"></script>
</div>
<div id="content">
@@ -390,7 +393,7 @@
-<script src="templates/footer.js"></script>
-</div>
+ <script src="templates/footer.js" type="text/javascript"></script>
+ </div>
</body>
</html>
Modified: logback/trunk/logback-site/src/site/pages/manual/joran.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/manual/joran.html (original)
+++ logback/trunk/logback-site/src/site/pages/manual/joran.html Tue Nov 11 12:39:39 2008
@@ -1,24 +1,28 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
-<title>Chapter3: Logback configuration & Joran</title>
-<link rel="stylesheet" type="text/css" media="screen" href="../css/site.css" />
-<link rel="stylesheet" type="text/css" media="print" href="../css/sitePrint.css" />
-
-
-</head>
-<body>
- <script type="text/javascript">prefix='../'</script>
- <script type="text/javascript" src="../templates/header.js"></script>
-<div id="left">
- <script type="text/javascript" src="../templates/left.js"></script>
-</div>
-<div id="right"><script type="text/javascript" src="index_menu.js"></script></div>
-<div id="content" class="chapter">
-
- <h1>Chapter 3: Logback configuration & Joran</h1>
-
+ <head>
+ <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
+ <title>Chapter3: Logback configuration & Joran</title>
+
+ <link rel="stylesheet" type="text/css" href="../css/common.css" />
+ <link rel="stylesheet" type="text/css" href="../css/screen.css" media="screen" />
+ <link rel="stylesheet" type="text/css" href="../css/_print.css" media="print" />
+ </head>
+ <body>
+ <script type="text/javascript">prefix='../'</script>
+ <script src="../templates/header.js" type="text/javascript">
+ </script>
+ <div id="left">
+ <script src="../templates/left.js" type="text/javascript">
+ </script>
+ </div>
+ <div id="right">
+ <script src="menu.js" type="text/javascript"></script>
+ </div>
+ <div id="content" class="chapter">
+
+ <h1>Chapter 3: Logback configuration & Joran</h1>
+
<div class="quote">
<p><em>In symbols one observes an advantage in discovery which
is greatest when they express the exact nature of a thing
@@ -29,7 +33,7 @@
</div>
- <script type="text/javascript" src="../templates/creative.js">
+ <script src="../templates/creative.js" type="text/javascript">
</script>
@@ -1170,13 +1174,13 @@
<em>Example 3.<span class="autoEx"/>: File include
(logback-examples/src/main/java/chapter3/includedConfig.xml)</em>
- <div class="source"><pre><b class="green"><included></b>
+ <p class="source"><b class="green"><included></b>
<appender name="includedConsole" class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.classic.PatternLayout">
<Pattern>"%d - %m%n"</Pattern>
</layout>
</appender>
-<b class="green"></included></b></pre></div>
+<b class="green"></included></b></p>
<p>The file to be included can be referenced as a file, as a URL or
as a resource. To reference a file use the <span
@@ -1189,7 +1193,7 @@
-<script src="../templates/footer.js"></script>
+ <script src="../templates/footer.js" type="text/javascript"></script>
</div>
</body>
</html>
Modified: logback/trunk/logback-site/src/site/pages/manual/layouts.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/manual/layouts.html (original)
+++ logback/trunk/logback-site/src/site/pages/manual/layouts.html Tue Nov 11 12:39:39 2008
@@ -1,26 +1,26 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
-<title>Chapter 5: Layouts</title>
-<link rel="stylesheet" type="text/css" media="screen" href="../css/site.css" />
-<link rel="stylesheet" type="text/css" media="print" href="../css/sitePrint.css" />
+ <head>
+ <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
+ <title>Chapter 5: Layouts</title>
+ <link rel="stylesheet" type="text/css" href="../css/common.css" />
+ <link rel="stylesheet" type="text/css" href="../css/screen.css" media="screen" />
+ <link rel="stylesheet" type="text/css" href="../css/_print.css" media="print" />
-</head>
+
+ </head>
<body>
- <script>
-prefix='../';
-</script>
-<script src="../templates/header.js"></script>
-<div id="left">
- <script src="../templates/left.js"></script>
-</div>
-<div id="right">
- <script src="index_menu.js"></script>
-</div>
-<div id="content">
-
- <h1>Chapter 5: Layouts</h1>
+ <script type="text/javascript">prefix='../';</script>
+ <script src="../templates/header.js" type="text/javascript"></script>
+ <div id="left">
+ <script src="../templates/left.js" type="text/javascript"></script>
+ </div>
+ <div id="right">
+ <script src="menu.js" type="text/javascript"></script>
+ </div>
+ <div id="content">
+
+ <h1>Chapter 5: Layouts</h1>
<div class="quote">
<p>TCP implementations will follow a general principle of
@@ -30,8 +30,8 @@
<p>—JON POSTEL, RFC 793</p>
</div>
- <script src="../templates/creative.js"></script>
- <script src="../templates/setup.js"></script>
+ <script src="../templates/creative.js" type="text/javascript"></script>
+ <script src="../templates/setup.js" type="text/javascript"></script>
<h2>What is a layout?</h2>
@@ -381,7 +381,7 @@
described in the table below. When multiple conversion words are
listed on the left column, they should be considered as aliases.
</p>
-
+
<table class="bodyTable" border="0">
<tr>
<th>Conversion Word</th>
@@ -452,20 +452,17 @@
</td>
<td>
- <p>
- Used to output the fully qualified class name of
- the caller issuing the logging request.
+ <p>Used to output the fully qualified class name of the
+ caller issuing the logging request.
</p>
- <p>
- Just like the <em>%logger</em> conversion word above, this
- word can take an interger as it's first option and use its
- abbreviation algorithm to shorten the class name. By
- default the class name is output in full.
- </p>
- <p>
- Generating the caller class information is not particularly fast.
- Thus, it's use should be avoided unless
- execution speed is not an issue.
+ <p> Just like the <em>%logger</em> conversion word above,
+ this word can take an interger as it's first option and use
+ its abbreviation algorithm to shorten the class name. By
+ default the class name is output in full.
+ </p>
+ <p>Generating the caller class information is not
+ particularly fast. Thus, it's use should be avoided unless
+ execution speed is not an issue.
</p>
</td>
</tr>
@@ -492,7 +489,7 @@
actual date is Friday 20th of October, 2006 and that the
author finished his meal a short while ago.</p>
- <table class="bodyTable" CELLPADDING="8">
+ <table class="bodyTable" cellpadding="8">
<tr class="a">
<th>Conversion Pattern</th>
<th>Result</th>
@@ -823,15 +820,15 @@
<p>Here is an example:</p>
- <p class="source">java.lang.NullPointerException
- at com.xyz.Wombat(Wombat.java:57) <b><span class="red">~</span>[wombat-1.3.jar:1.3]</b>
- at com.xyz.Wombat(Wombat.java:76) ~[wombat-1.3.jar:1.3]
- at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.5.0_06]
- at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) ~[na:1.5.0_06]
- at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) ~[na:1.5.0_06]
- at java.lang.reflect.Method.invoke(Method.java:585) ~[na:1.5.0_06]
- at org.junit.internal.runners.TestMethod.invoke(TestMethod.java:59) [junit-4.4.jar:na]
- at org.junit.internal.runners.MethodRoadie.runTestMethod(MethodRoadie.java:98) [junit-4.4.jar:na]
+ <p class="source small">java.lang.NullPointerException
+ at com.xyz.Wombat(Wombat.java:57) <b><span class="red">~</span>[wombat-1.3.jar:1.3]</b>
+ at com.xyz.Wombat(Wombat.java:76) ~[wombat-1.3.jar:1.3]
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.5.0_06]
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) ~[na:1.5.0_06]
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) ~[na:1.5.0_06]
+ at java.lang.reflect.Method.invoke(Method.java:585) ~[na:1.5.0_06]
+ at org.junit.internal.runners.TestMethod.invoke(TestMethod.java:59) [junit-4.4.jar:na]
+ at org.junit.internal.runners.MethodRoadie.runTestMethod(MethodRoadie.java:98) [junit-4.4.jar:na]
...etc </p>
<p>Logback goes to great lengths to ensure that the class
@@ -1988,7 +1985,8 @@
-<script src="../templates/footer.js"></script>
+
+ <script src="../templates/footer.js" type="text/javascript"></script>
</div>
</body>
</html>
Modified: logback/trunk/logback-site/src/site/pages/manual/mdc.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/manual/mdc.html (original)
+++ logback/trunk/logback-site/src/site/pages/manual/mdc.html Tue Nov 11 12:39:39 2008
@@ -1,47 +1,48 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
-<title>Chapter 7: Diagnostic Context</title>
-<link rel="stylesheet" type="text/css" media="screen" href="../css/site.css" />
-<link rel="stylesheet" type="text/css" media="print" href="../css/sitePrint.css" />
-
-</head>
-<body>
-<script>prefix='../';</script>
-<script src="../templates/header.js"></script>
-<div id="left">
- <script src="../templates/left.js"></script>
-</div>
-<div id="right">
- <script src="index_menu.js"></script>
-</div>
-<div id="content">
-
- <h1>Chapter 7: Mapped Diagnostic Context</h1>
-
- <div class="quote">
- <p><em>Lock the doors.</em></p>
- <p>—LEROY CAIN, Flight Director, Columbia Mission Control</p>
- </div>
-
- <script src="../templates/creative.js"></script>
-
+ <head>
+ <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
+ <title>Chapter 7: Diagnostic Context</title>
+ <link rel="stylesheet" type="text/css" href="../css/common.css" />
+ <link rel="stylesheet" type="text/css" href="../css/screen.css" media="screen" />
+ <link rel="stylesheet" type="text/css" href="../css/_print.css" media="print" />
+
+ </head>
+ <body>
+ <script type="text/javascript">prefix='../';</script>
+ <script src="../templates/header.js" type="text/javascript"></script>
+ <div id="left">
+ <script src="../templates/left.js" type="text/javascript"></script>
+ </div>
+ <div id="right">
+ <script src="menu.js" type="text/javascript"></script>
+ </div>
+ <div id="content">
+
+ <h1>Chapter 7: Mapped Diagnostic Context</h1>
+
+ <div class="quote">
+ <p><em>Lock the doors.</em></p>
+ <p>—LEROY CAIN, Flight Director, Columbia Mission Control</p>
+ </div>
+
+ <script src="../templates/creative.js" type="text/javascript"></script>
+
<p>One of the design goals of logback is to audit and debug
- complex distributed applications. Most real-world distributed
- systems need to deal with multiple clients simultaneously. In a
- typical multithreaded implementation of such a system, different
- threads will handle different clients. A possible but discouraged
- approach to differentiate the logging output of one client from
- another consists of instantiating a new and separate logger for
- each client. This technique promotes the proliferation of loggers
- and considerably increases their management overhead.
+ complex distributed applications. Most real-world distributed
+ systems need to deal with multiple clients simultaneously. In a
+ typical multithreaded implementation of such a system, different
+ threads will handle different clients. A possible but discouraged
+ approach to differentiate the logging output of one client from
+ another consists of instantiating a new and separate logger for
+ each client. This technique promotes the proliferation of loggers
+ and considerably increases their management overhead.
</p>
- <script src="../templates/setup.js"></script>
+ <script src="../templates/setup.js" type="text/javascript"></script>
- <p>A lighter technique consists of uniquely stamping each log
+ <p>A lighter technique consists of uniquely stamping each log
request servicing a given client. Neil Harrison described this
method in the book <em>Patterns for Logging Diagnostic
Messages</em> in Pattern Languages of Program Design 3, edited by
@@ -633,7 +634,7 @@
</p>
-<script src="../templates/footer.js"></script>
+ <script src="../templates/footer.js" type="text/javascript"></script>
</div>
</body>
</html>
Modified: logback/trunk/logback-site/src/site/pages/news.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/news.html (original)
+++ logback/trunk/logback-site/src/site/pages/news.html Tue Nov 11 12:39:39 2008
@@ -3,7 +3,11 @@
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<title>News</title>
-<link rel="stylesheet" type="text/css" media="screen" href="css/site.css" />
+ <link rel="stylesheet" type="text/css" href="css/common.css" />
+ <link rel="stylesheet" type="text/css" href="css/screen.css" media="screen" />
+ <link rel="stylesheet" type="text/css" href="css/_print.css" media="print" />
+
+
</head>
<body>
<script>
Modified: logback/trunk/logback-site/src/site/pages/repos.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/repos.html (original)
+++ logback/trunk/logback-site/src/site/pages/repos.html Tue Nov 11 12:39:39 2008
@@ -3,7 +3,9 @@
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<title>Repository</title>
-<link rel="stylesheet" type="text/css" media="screen" href="css/site.css" />
+ <link rel="stylesheet" type="text/css" href="css/common.css" />
+ <link rel="stylesheet" type="text/css" href="css/screen.css" media="screen" />
+ <link rel="stylesheet" type="text/css" href="css/_print.css" media="print" />
</head>
<body>
<script>
Modified: logback/trunk/logback-site/src/site/pages/support.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/support.html (original)
+++ logback/trunk/logback-site/src/site/pages/support.html Tue Nov 11 12:39:39 2008
@@ -1,48 +1,55 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
-<title>Professional support</title>
-<link rel="stylesheet" type="text/css" media="screen" href="css/site.css" />
-</head>
-<body>
- <script>
-prefix='';
-</script>
+ <head>
+ <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
+ <title>Professional support</title>
+ <link rel="stylesheet" type="text/css" href="css/common.css" />
+ <link rel="stylesheet" type="text/css" href="css/screen.css" media="screen" />
+ <link rel="stylesheet" type="text/css" href="css/_print.css" media="print" />
+
+ </head>
+ <body>
+ <script>prefix='';</script>
+
+ <script src="templates/header.js"></script>
+ <div id="left">
+ <script src="templates/left.js"></script>
+ </div>
+ <div id="content">
+
+ <h2>Professional support</h2>
+
+ <p>Although the quality of support in the various public logback
+ mailing lists is very good, these are operated on a best-effort
+ basis. If you require guaranteed response times and in-depth
+ advice from developers intimately acquainted with logback, then do
+ consider our professional support package.
+ </p>
+
+ <p>As the founders and current maintainers of the logback project,
+ we can offer you highest quality of support. Opting for our
+ professional logback support service is a great way to leverage the
+ expertise of developers who have in depth knowledge of the logback
+ framework.
+ </p>
+
+
+ <p>To obtain a quote for "Professional Support Contract" please do
+ not hesitate to contact us. We will happy to discuss or help you
+ with logging-related issues.</p>
+
+ <table>
+ <tr>
+ <td>email:</td>
+ <td><img align="left" src="images/helpEMAIL.gif" alt=""/></td>
+ </tr>
+ <tr>
+ <td>telephone:</td>
+ <td> +41 21 312 32 26</td>
+ </tr>
+ </table>
+
+ </div>
-<script src="templates/header.js"></script>
-<div id="left">
- <script src="templates/left.js"></script>
-</div>
-<div id="content">
-
- <h2>Professional support</h2>
-
- <p>Although the quality of support in the various public logback
- mailing lists is very good, these are operated on a best-effort
- basis. If you require guaranteed response times and in-depth advice
- from developers intimately acquainted with logback, then do consider
- our professional support package.
- </p>
-
- <p>As the founders and current maintainers of the logback project,
- we can offer you highest quality of support. Opting for our
- professional logback support service is a great way to leverage the
- expertise of developers who have in depth knowledge of the logback
- framework.
- </p>
-
-
- <table border="0">
- <tr>
- <td>For a quote for "Professional Support Contract" please
- contact:</td>
- <td><img src="images/helpEMAIL.gif" alt=""/></td>
- </tr>
- </table>
-
-
-</div>
-
-</body>
+ </body>
</html>
\ No newline at end of file
Modified: logback/trunk/logback-site/src/site/pages/team.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/team.html (original)
+++ logback/trunk/logback-site/src/site/pages/team.html Tue Nov 11 12:39:39 2008
@@ -1,28 +1,31 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
-<title>Logback Team</title>
-<link rel="stylesheet" type="text/css" media="screen" href="css/site.css" />
-</head>
-<body>
- <script>
-prefix='';
-</script>
+ <head>
+ <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
+ <title>Logback Team</title>
+ <link rel="stylesheet" type="text/css" href="css/common.css" />
+ <link rel="stylesheet" type="text/css" href="css/screen.css" media="screen" />
+ <link rel="stylesheet" type="text/css" href="css/_print.css" media="print" />
+
+ </head>
+ <body>
+ <script>
+ prefix='';
+ </script>
-<script src="templates/header.js"></script>
-<div id="left">
- <script src="templates/left.js"></script>
-</div>
-<div id="content">
-
+ <script src="templates/header.js"></script>
+ <div id="left">
+ <script src="templates/left.js"></script>
+ </div>
+ <div id="content">
+
<h2>Logback Team</h2>
<p>Let us introduce you to the logback team members:</p>
- <table class="bodyTable" border="0" CELLPADDING="8">
+ <table class="bodyTable" border="0" cellpadding="8">
<tr class="a">
<td><img src="images/jeannoel.gif" alt="Jean-Noel"/></td>
Modified: logback/trunk/logback-site/src/site/pages/templates/creative.js
==============================================================================
--- logback/trunk/logback-site/src/site/pages/templates/creative.js (original)
+++ logback/trunk/logback-site/src/site/pages/templates/creative.js Tue Nov 11 12:39:39 2008
@@ -5,7 +5,7 @@
document.write(' <p class="author">');
document.write(' Authors: Ceki Gülcü, Sébastien Pennec');
document.write(' <br/>');
-document.write(' Copyright © 2000-2007, QOS.ch</p>');
+document.write(' Copyright © 2000-2008, QOS.ch</p>');
document.write(' </td>');
document.write(' <td>');
document.write(' <a rel="license"');
Modified: logback/trunk/logback-site/src/site/pages/templates/header.js
==============================================================================
--- logback/trunk/logback-site/src/site/pages/templates/header.js (original)
+++ logback/trunk/logback-site/src/site/pages/templates/header.js Tue Nov 11 12:39:39 2008
@@ -4,4 +4,4 @@
document.write('<img src="' + prefix + 'images/logos/lblogo.jpg" alt="" border="0"/>');
document.write('</a>')
document.write('</p>');
-document.write('<div id="breadcrumbs"></div>');
+document.write('<div id="headerLine"></div>');
Modified: logback/trunk/logback-site/src/site/pages/templates/left.js
==============================================================================
--- logback/trunk/logback-site/src/site/pages/templates/left.js (original)
+++ logback/trunk/logback-site/src/site/pages/templates/left.js Tue Nov 11 12:39:39 2008
@@ -16,7 +16,6 @@
document.write('<p><a class="x" href="http://www.qos.ch/"><img src="' + prefix + 'images/logos/qosLogo.png" /></a></p>');
-document.write('<span class="small">Last updated 2008-10-29</span>');
document.write('</p>');
1
0
svn commit: r1958 - logback/trunk/logback-site/src/site/pages/css
by noreply.cekiļ¼ qos.ch 11 Nov '08
by noreply.cekiļ¼ qos.ch 11 Nov '08
11 Nov '08
Author: ceki
Date: Tue Nov 11 12:11:40 2008
New Revision: 1958
Added:
logback/trunk/logback-site/src/site/pages/css/_print.css
- copied unchanged from r1957, /logback/trunk/logback-site/src/site/pages/css/sitePrint.css
logback/trunk/logback-site/src/site/pages/css/screen.css
- copied unchanged from r1957, /logback/trunk/logback-site/src/site/pages/css/site.css
Removed:
logback/trunk/logback-site/src/site/pages/css/site.css
logback/trunk/logback-site/src/site/pages/css/sitePrint.css
Log:
renamed sitePrint.css as _print.css
renmaed site.css as screen.css
1
0