if (!(l instanceof LogImpl))
return;
LogImpl log = (LogImpl) l;
TableForm tf = new TableForm(request.getRequestURI());
page.add(tf);
tf.table().newRow().addCell(new Block(Block.Bold)
.add(new Font(3,true).add(getServletInfo()))).cell().attribute("COLSPAN","2");
tf.table().add(Break.rule);
tf.addCheckbox("D","Debug On",log.getDebug());
tf.addTextField("V","Verbosity Level",6,""+log.getVerbose());
tf.addTextField("P","Debug Patterns",40,log.getDebugPatterns());
tf.addCheckbox("W","Suppress Warnings",log.getSuppressWarnings());
LogSink[] sinks = log.getLogSinks();
for (int s=0;sinks!=null && s<sinks.length;s++)
{
if (sinks[s]==null)
continue;
tf.table().newRow().addCell(Break.rule).cell().attribute("COLSPAN","2");
tf.table().newRow().addCell("<B><font size=\"+1\">Log Sink "+s+":</font></B").right();
tf.table().addCell(sinks[s].getClass().getName()).left();
tf.addCheckbox("LSS"+s,"Started",sinks[s].isStarted());
if (sinks[s] instanceof OutputStreamLogSink)
{
OutputStreamLogSink sink=(OutputStreamLogSink)sinks[s];
tf.addCheckbox("LT"+s,"Tag",sink.isLogTags());
tf.addCheckbox("LL"+s,"Label",sink.isLogLabels());
tf.addCheckbox("Ls"+s,"Stack Size",sink.isLogStackSize());
tf.addCheckbox("LS"+s,"Stack Trace",sink.isLogStackTrace());
tf.addCheckbox("SS"+s,"Suppress Stacks",sink.isSuppressStack());
tf.addCheckbox("SL"+s,"Single Line",sink.isLogOneLine());
tf.addTextField("LF"+s,"Log File Name",40,sink.getFilename());
}
}
tf.table().newRow().addCell(Break.rule).cell().attribute("COLSPAN","2");
tf.addTextField("LSC","Add LogSink Class",40,"org.openqa.jetty.log.OutputStreamLogSink");
tf.addButtonArea();
tf.addButton("Action","Set Options");
tf.addButton("Action","Add LogSink");
tf.addButton("Action","Delete Stopped Sinks");
tf.table().newRow().addCell(Break.rule).cell().attribute("COLSPAN","2");
response.setContentType("text/html");
response.setHeader("Pragma", "no-cache");
response.setHeader("Cache-Control", "no-cache,no-store");
Writer writer=response.getWriter();