⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 log.java

📁 MSN客服自动化机器人
💻 JAVA
字号:
package jm.form.msn.form;import java.awt.BorderLayout;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import java.io.File;import java.util.Hashtable;import javax.imageio.ImageIO;import javax.swing.JButton;import javax.swing.JCheckBox;import javax.swing.JDialog;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JTextArea;import javax.swing.filechooser.FileSystemView;import jm.form.msn.config.JMMRConfigConstants;import jm.form.msn.util.Logger;import jm.form.msn.util.Manager;import jm.util.JMCheck;import jm.util.JMENDateUtil;import jm.util.JMFile;/** * 系统日志 梦界家园MSNP15 *  * @author ISHome * @since 0.5.0.2 * @version 0.5.0.2.1 */public class Log extends javax.swing.JDialog implements JMMRConfigConstants, Logger {	private JButton output;	private Manager manager = null;	private JPanel commandPanel;	private JButton save;	private JButton clear;	private JCheckBox waring;	private JCheckBox error;	private JCheckBox info;	private JCheckBox debug;	private JPanel configPanel;	private JPanel bottomPanel;	private JTextArea log;	private JScrollPane logScrollPane;	public Log(JFrame form, Manager server) {		super(form, true);		manager = server;		initGUI();	}	public Log(JDialog form, Manager server) {		super(form, true);		manager = server;		initGUI();	}	private void initGUI() {		try {			{				getContentPane().setBackground(new java.awt.Color(255, 255, 255));				{					commandPanel = new JPanel();					GridLayout commandPanelLayout = new GridLayout(1, 1);					commandPanelLayout.setColumns(1);					commandPanelLayout.setHgap(5);					commandPanelLayout.setVgap(5);					commandPanel.setLayout(commandPanelLayout);					getContentPane().add(commandPanel, BorderLayout.NORTH);					commandPanel.setPreferredSize(new java.awt.Dimension(392, 30));					{						clear = new JButton();						commandPanel.add(clear);						clear.setText(manager.getConfigMap().get(LANG_LOG_BUTTON_CLEAR_TEXT));						clear.setToolTipText(manager.getConfigMap().get(LANG_LOG_BUTTON_CLEAR_HELP));						clear.setFont(BUTTON_FOUNT);						clear.addActionListener(new ActionListener() {							public void actionPerformed(ActionEvent evt) {								log.setText("");							}						});					}					{						output = new JButton();						commandPanel.add(output);						output.setText(manager.getConfigMap().get(LANG_LOG_BUTTON_OUTPUT_TEXT));						output.setToolTipText(manager.getConfigMap().get(LANG_LOG_BUTTON_OUTPUT_HELP));						output.setFont(BUTTON_FOUNT);						output.addActionListener(new ActionListener() {							public void actionPerformed(ActionEvent evt) {								saveLogToFile();// 保存参数							}						});					}				}			}			{				bottomPanel = new JPanel();				BorderLayout jPanel1Layout = new BorderLayout();				bottomPanel.setLayout(jPanel1Layout);				getContentPane().add(bottomPanel, BorderLayout.CENTER);				{					configPanel = new JPanel();					GridLayout configPanelLayout = new GridLayout(1, 1);					configPanelLayout.setColumns(1);					configPanelLayout.setHgap(5);					configPanelLayout.setVgap(5);					configPanel.setLayout(configPanelLayout);					bottomPanel.add(configPanel, BorderLayout.NORTH);					configPanel.setPreferredSize(new java.awt.Dimension(632, 32));					configPanel.setBackground(new java.awt.Color(255, 255, 255));					{						debug = new JCheckBox();						configPanel.add(debug);						debug.setText(manager.getConfigMap().get(LANG_LOG_CHECKBOX_DEBUG_TEXT));						debug.setFont(LABEL_FOUNT);						debug.setBackground(new java.awt.Color(255, 255, 255));					}					{						error = new JCheckBox();						configPanel.add(error);						error.setText(manager.getConfigMap().get(LANG_LOG_CHECKBOX_ERROR_TEXT));						error.setBackground(new java.awt.Color(255, 255, 255));						error.setFont(LABEL_FOUNT);					}					{						info = new JCheckBox();						configPanel.add(info);						info.setText(manager.getConfigMap().get(LANG_LOG_CHECKBOX_INFO_TEXT));						info.setFont(LABEL_FOUNT);						info.setBackground(new java.awt.Color(255, 255, 255));					}					{						waring = new JCheckBox();						configPanel.add(waring);						waring.setText(manager.getConfigMap().get(LANG_LOG_CHECKBOX_WARN_TEXT));						waring.setBackground(new java.awt.Color(255, 255, 255));						waring.setFont(LABEL_FOUNT);					}					{						save = new JButton();						configPanel.add(save);						save.setText(manager.getConfigMap().get(LANG_LOG_BUTTON_SAVE_TEXT));						save.setToolTipText(manager.getConfigMap().get(LANG_LOG_BUTTON_SAVE_HELP));						save.setFont(BUTTON_FOUNT);						save.addActionListener(new ActionListener() {							public void actionPerformed(ActionEvent evt) {								saveConfig(true);// 保存参数							}						});					}				}				{					logScrollPane = new JScrollPane();					bottomPanel.add(logScrollPane, BorderLayout.CENTER);					logScrollPane.setBackground(new java.awt.Color(255, 255, 255));					{						log = new JTextArea();						logScrollPane.setViewportView(log);						log.setEditable(false);					}				}			}			{				this.setTitle(manager.getConfigMap().get(LANG_LOG_FORM_TITLE));				this.addWindowListener(new WindowAdapter() {					/**					 * 窗口正处在关闭过程中时调用。此时可重写关闭操作。					 * 					 * @param e					 */					public void windowClosing(WindowEvent e) {						saveConfig(false);// 保存参数						setVisible(false);					}				});				// 配置系统图标				this.setIconImage(ImageIO.read(new File(manager.getConfigMap().get(STYLES_MAIN_FORM_LOG))));				this.pack();				this.setSize(640, 480);			}		} catch (Exception e) {			error(null, e);		}	}	/**	 * 保存日志到文件	 */	public void saveLogToFile() {		FileSystemView fsv = FileSystemView.getFileSystemView();		String homeDirectory = fsv.getHomeDirectory().getPath();// 获取桌面路径		String curDateTime = JMENDateUtil.nowDate(DATE_TIME); // 获得当前时间		String fileName = homeDirectory + "\\" + curDateTime + ".txt";		if (JMFile.creatFile(fileName, this.log.getText()))			manager.showInfoMessageDialog(curDateTime + ".txt" + "\r\n" + manager.getConfigMap().get(LANG_LOG_FORM_SUCCESS));		else			manager.showErrorMessageDialog(manager.getConfigMap().get(LANG_LOG_FORM_FAILED));	}	private final String DATE_TIME = "yyyyMMddHHmmss";	/**	 * 设置日志信息	 * 	 * @param l	 */	public void setLog(Object l) {		StringBuffer logBuffer = new StringBuffer(500);		logBuffer.append(JMENDateUtil.nowDate(DATE_FORMAT) + "\r\n");		logBuffer.append(l + "\r\n");		log.insert(logBuffer.toString(), log.getText().length());	}	/**	 * 保存参数	 */	public void saveConfig(boolean saveFlag) {		// 开启警告日志信息		if (waring.isSelected()) {			manager.getConfigMap().put(CONFIG_LOG_WARN, "1");		} else {			manager.getConfigMap().put(CONFIG_LOG_WARN, "0");		}		// 开启错误日志信息		if (error.isSelected()) {			manager.getConfigMap().put(CONFIG_LOG_ERROR, "1");		} else {			manager.getConfigMap().put(CONFIG_LOG_ERROR, "0");		}		// 开启一般日志信息		if (info.isSelected()) {			manager.getConfigMap().put(CONFIG_LOG_INFO, "1");		} else {			manager.getConfigMap().put(CONFIG_LOG_INFO, "0");		}		// 开启测试日志信息		if (debug.isSelected()) {			manager.getConfigMap().put(CONFIG_LOG_DEBUG, "1");		} else {			manager.getConfigMap().put(CONFIG_LOG_DEBUG, "0");		}		// 保存参数		if (saveFlag) {			// 整理日志出力配置参数			Hashtable<String, String> config = new Hashtable<String, String>();			config.put(CONFIG_LOG_WARN, manager.getConfigMap().get(CONFIG_LOG_WARN));			config.put(CONFIG_LOG_ERROR, manager.getConfigMap().get(CONFIG_LOG_ERROR));			config.put(CONFIG_LOG_INFO, manager.getConfigMap().get(CONFIG_LOG_INFO));			config.put(CONFIG_LOG_DEBUG, manager.getConfigMap().get(CONFIG_LOG_DEBUG));			// 保存配置参数到文件			manager.saveConfigFile(CONFIG_FILE_LOG, config);		}	}	/**	 * 读取参数	 */	public void loadConfig() {		// 选择开启警告日志信息		if ("1".equals(manager.getConfigMap().get(CONFIG_LOG_WARN))) {			waring.setSelected(true);		}		// 开启错误日志信息		if ("1".equals(manager.getConfigMap().get(CONFIG_LOG_ERROR))) {			error.setSelected(true);		}		// 开启一般日志信息		if ("1".equals(manager.getConfigMap().get(CONFIG_LOG_INFO))) {			info.setSelected(true);		}		// 开启测试日志信息		if ("1".equals(manager.getConfigMap().get(CONFIG_LOG_DEBUG))) {			debug.setSelected(true);		}	}	@Override	public void error(Object m, Throwable t) {		if ("1".equals(manager.getConfigMap().get(CONFIG_LOG_ERROR))) {			if (!JMCheck.isNull(m)) {				setLog(" " + m);			}			if (!JMCheck.isNull(t)) {				StringBuffer logBuffer = new StringBuffer(2000);				for (StackTraceElement s : t.getStackTrace())					logBuffer.append(s + "\r\n");				log.insert(logBuffer.toString(), log.getText().length());			}		}	}	@Override	public void info(Object m) {		if (JMCheck.isNull(m)) {			return;		}		if ("1".equals(manager.getConfigMap().get(CONFIG_LOG_ERROR))) {			setLog(m);		}	}	@Override	public void debug(Object m) {		if (JMCheck.isNull(m)) {			return;		}		if ("1".equals(manager.getConfigMap().get(CONFIG_LOG_ERROR))) {			setLog(m);		}	}	@Override	public void warn(Object m) {		if (JMCheck.isNull(m)) {			return;		}		if ("1".equals(manager.getConfigMap().get(CONFIG_LOG_ERROR))) {			setLog(m);		}	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -