public LauncherConsole() {
		setTitle("Console");
		setMinimumSize(new Dimension(800, 400));
		setIconImage(Toolkit.getDefaultToolkit().getImage(this.getClass().getResource("/image/logo_ftb.png")));
		getContentPane().setLayout(new BorderLayout(0, 0));

		JPanel panel = new JPanel();

		getContentPane().add(panel, BorderLayout.SOUTH);
		panel.setLayout(new FlowLayout(FlowLayout.LEFT, 5, 5));

		JButton pastebin = new JButton("Paste my log to pastebin.com");
		pastebin.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent arg0) {
				JOptionPane pane = new JOptionPane("The log will be copied to your clipboard and pastebin.com will be opened now");
				Object[] options = new String[] { "Yes do it", "Cancel" };
				pane.setOptions(options);
				JDialog dialog = pane.createDialog(new JFrame(), "Paste to pastebin.com");
				dialog.setVisible(true);
				Object obj = pane.getValue();
				int result = -1;
				for(int i = 0; i < options.length; i++) {
					if (options[i].equals(obj)) {
						result = i;
					}
				}
				if(result == 0) {
					PastebinPoster thread = new PastebinPoster();
					thread.start();
				}
			}
		});
		panel.add(pastebin);

		logTypeComboBox = new JComboBox(LogType.values());
		logTypeComboBox.setSelectedItem(logType);
		logTypeComboBox.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				logType = (LogType) logTypeComboBox.getSelectedItem();
				refreshLogs();
			}
		});
		panel.add(logTypeComboBox);

		logSourceComboBox = new JComboBox(LogSource.values());
		logSourceComboBox.setSelectedItem(logSource);
		logSourceComboBox.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				logSource = (LogSource) logSourceComboBox.getSelectedItem();
				refreshLogs();
			}
		});
		panel.add(logSourceComboBox);

		JButton ircButton = new JButton("Need support? Click me!");
		ircButton.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent arg0) {
				if (Desktop.isDesktopSupported()) {
					Desktop desktop = Desktop.getDesktop();
					try {
						desktop.browse(new URI("http://desk.feed-the-beast.com/"));
					} catch (Exception exc) {
						Logger.logError("Could not open url: " + exc.getMessage());
					}
				} else {
					Logger.logWarn("Could not open url, not supported");
				}
			}
		});
		panel.add(ircButton);

		displayArea = new JEditorPane("text/html", "");
		displayArea.setEditable(false);
		kit = new HTMLEditorKit();
		displayArea.setEditorKit(kit);

		JScrollPane scrollPane = new JScrollPane(displayArea);
		scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);

		getContentPane().add(scrollPane);

		refreshLogs();
		Logger.addListener(this);

		System.setOut(new OutputOverride(System.out, LogLevel.INFO));
		System.setErr(new OutputOverride(System.err, LogLevel.ERROR));
		try {
			Logger.addListener(new LogWriter(new File(Settings.getSettings().getInstallPath(), launcherLogFile), LogSource.LAUNCHER));
			Logger.addListener(new LogWriter(new File(Settings.getSettings().getInstallPath(), minecraftLogFile), LogSource.EXTERNAL));
		} catch (IOException e1) {
			Logger.logError(e1.getMessage(), e1);
		}
	}