mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
112 lines
3.2 KiB
Java
112 lines
3.2 KiB
Java
/*
|
|
* Licensed to the Apache Software Foundation (ASF) under one or more
|
|
* contributor license agreements. See the NOTICE file distributed with
|
|
* this work for additional information regarding copyright ownership.
|
|
* The ASF licenses this file to You under the Apache License, Version 2.0
|
|
* (the "License"); you may not use this file except in compliance with
|
|
* the License. You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
|
|
package org.apache.log4j.gui.examples;
|
|
|
|
import java.awt.BorderLayout;
|
|
import java.awt.event.*;
|
|
import javax.swing.*;
|
|
import org.apache.log4j.*;
|
|
import org.apache.log4j.gui.*;
|
|
|
|
|
|
|
|
public class TextPaneAppenderExample implements ActionListener {
|
|
|
|
JFrame mainframe;
|
|
ButtonGroup priorities;
|
|
TextPaneAppender tpa;
|
|
Category gui;
|
|
Priority prio[];
|
|
JTabbedPane logview;
|
|
|
|
|
|
public TextPaneAppenderExample () {
|
|
mainframe = new JFrame("Testing the TextPaneAppender...");
|
|
mainframe.setSize(300,300);
|
|
logview = new JTabbedPane();
|
|
createLogger();
|
|
createMenuBar();
|
|
mainframe.setVisible(true);
|
|
mainframe.getContentPane().add(logview);
|
|
}
|
|
|
|
public void createLogger() {
|
|
tpa = new TextPaneAppender(new PatternLayout("%-5p %d [%t]: %m%n"),"Debug");
|
|
logview.addTab("Events ...",new JScrollPane(tpa.getTextPane()));
|
|
gui = Category.getInstance(this.getClass().getName());
|
|
gui.addAppender(tpa);
|
|
}
|
|
|
|
public void createMenuBar() {
|
|
JMenu file = new JMenu("File");
|
|
JMenuItem exit = new JMenuItem("Exit");
|
|
exit.addActionListener(new ActionListener() {
|
|
public void actionPerformed(ActionEvent ae) {
|
|
System.exit(0);
|
|
}
|
|
});
|
|
file.add(exit);
|
|
JMenuBar mb = new JMenuBar();
|
|
mb.add(file);
|
|
|
|
JMenu logevent = new JMenu("LoggingEvents");
|
|
JMenu selectprio = new JMenu("Priority");
|
|
|
|
prio = Priority.getAllPossiblePriorities();
|
|
JRadioButtonMenuItem priority[]= new JRadioButtonMenuItem[prio.length];
|
|
priorities = new ButtonGroup();
|
|
|
|
for (int i=0; i<prio.length;i++) {
|
|
if (i==0)
|
|
priority[i] = new JRadioButtonMenuItem(prio[i].toString(),true);
|
|
else
|
|
priority[i] = new JRadioButtonMenuItem(prio[i].toString());
|
|
priority[i].setActionCommand(prio[i].toString());
|
|
selectprio.add(priority[i]);
|
|
priorities.add(priority[i]);
|
|
|
|
}
|
|
|
|
logevent.add(selectprio);
|
|
|
|
JMenuItem lognow = new JMenuItem("LogIt!");
|
|
lognow.addActionListener(this);
|
|
logevent.add(lognow);
|
|
|
|
mb.add(logevent);
|
|
|
|
mainframe.setJMenuBar(mb);
|
|
|
|
}
|
|
|
|
public void actionPerformed(ActionEvent ae){
|
|
String logtext = JOptionPane.showInputDialog("Text to log");
|
|
if (logtext == null) logtext="NO Input";
|
|
int i=0;
|
|
String name = priorities.getSelection().getActionCommand();
|
|
while (!prio[i].toString().equals(name))
|
|
i=i+1;
|
|
gui.log(prio[i],logtext);
|
|
}
|
|
|
|
static public void main(String args[]) {
|
|
TextPaneAppenderExample tpex = new TextPaneAppenderExample();
|
|
}
|
|
|
|
}
|