📄 staflogviewer.java
字号:
"FIRST<Num>\nor LAST <Num> option to specify the number " + "of records\nor the ALL option if you really want all of " + "the records.\nThe last " + defaultMaxQueryRecords + " log " + "entries will be displayed.", "RC 4010", JOptionPane.INFORMATION_MESSAGE); } else { if ((stafResult.rc != 0) && (stafResult.rc != 17)) { { JOptionPane.showMessageDialog( parent, "RC=" + stafResult.rc + ", Result=" + stafResult.result, "Error querying log", JOptionPane.INFORMATION_MESSAGE); } return null; } } // Unmarshall the output from the request and create a outputList // containing the results (timestamp, level, and message) java.util.List outputList; try { STAFMarshallingContext outputContext = STAFMarshallingContext.unmarshall(stafResult.result); outputList = (java.util.List)outputContext.getRootObject(); } catch (Exception e) { e.printStackTrace(); JOptionPane.showMessageDialog( parent, "Log " + fLogName + " has an invalid format", "Invalid Log Format", JOptionPane.INFORMATION_MESSAGE); return null; } if (outputList.size() == 0) { if (returnEmptyVector) { return new Vector(); } else { JOptionPane.showMessageDialog( parent, "Log has no entries\n\n" + fLogFrame.getTitle(), "No Log Entries", JOptionPane.INFORMATION_MESSAGE); return null; } } // Create a vector (logLines) from the outputList Iterator iter = outputList.iterator(); Vector logLines = new Vector(); int i = 0; try { while (iter.hasNext()) { i++; Map logRecord = (Map)iter.next(); Vector thisLogData = new Vector(); thisLogData.add((String)logRecord.get("timestamp")); thisLogData.add((String)logRecord.get("level")); thisLogData.add((String)logRecord.get("message")); logLines.add(thisLogData); } } catch (Exception e) { e.printStackTrace(); JOptionPane.showMessageDialog( parent, "Log " + fLogName + " has an invalid format", "Invalid Log Format in record #" + i, JOptionPane.INFORMATION_MESSAGE); return null; } return logLines; } public void processLevelMask() { fLevelAll.setSelected(false); fLevelFatal.setSelected( fLevelMask.toUpperCase().indexOf("FATAL") != -1); fLevelError.setSelected( fLevelMask.toUpperCase().indexOf("ERROR") != -1); fLevelWarning.setSelected( fLevelMask.toUpperCase().indexOf("WARNING") != -1); fLevelInfo.setSelected( fLevelMask.toUpperCase().indexOf("INFO") != -1); fLevelTrace.setSelected( fLevelMask.toUpperCase().indexOf("TRACE") != -1); fLevelTrace2.setSelected( fLevelMask.toUpperCase().indexOf("TRACE2") != -1); fLevelTrace3.setSelected( fLevelMask.toUpperCase().indexOf("TRACE3") != -1); fLevelDebug.setSelected( fLevelMask.toUpperCase().indexOf("DEBUG") != -1); fLevelDebug2.setSelected( fLevelMask.toUpperCase().indexOf("DEBUG2") != -1); fLevelDebug3.setSelected( fLevelMask.toUpperCase().indexOf("DEBUG3") != -1); fLevelStart.setSelected( fLevelMask.toUpperCase().indexOf("START") != -1); fLevelStop.setSelected( fLevelMask.toUpperCase().indexOf("STOP") != -1); fLevelPass.setSelected( fLevelMask.toUpperCase().indexOf("PASS") != -1); fLevelFail.setSelected( fLevelMask.toUpperCase().indexOf("FAIL") != -1); fLevelStatus.setSelected( fLevelMask.toUpperCase().indexOf("STATUS") != -1); fLevelUser1.setSelected( fLevelMask.toUpperCase().indexOf("USER1") != -1); fLevelUser2.setSelected( fLevelMask.toUpperCase().indexOf("USER2") != -1); fLevelUser3.setSelected( fLevelMask.toUpperCase().indexOf("USER3") != -1); fLevelUser4.setSelected( fLevelMask.toUpperCase().indexOf("USER4") != -1); fLevelUser5.setSelected( fLevelMask.toUpperCase().indexOf("USER5") != -1); fLevelUser6.setSelected( fLevelMask.toUpperCase().indexOf("USER6") != -1); fLevelUser7.setSelected( fLevelMask.toUpperCase().indexOf("USER8") != -1); fLevelUser8.setSelected( fLevelMask.toUpperCase().indexOf("USER8") != -1); } public String getLogMask() { String logMask = ""; if (fLevelFatal.isSelected()) { logMask += " FATAL"; } if (fLevelError.isSelected()) { logMask += " ERROR"; } if (fLevelWarning.isSelected()) { logMask += " WARNING"; } if (fLevelInfo.isSelected()) { logMask += " INFO"; } if (fLevelTrace.isSelected()) { logMask += " TRACE"; } if (fLevelTrace2.isSelected()) { logMask += " TRACE2"; } if (fLevelTrace3.isSelected()) { logMask += " TRACE3"; } if (fLevelDebug.isSelected()) { logMask += " DEBUG"; } if (fLevelDebug2.isSelected()) { logMask += " DEBUG2"; } if (fLevelDebug3.isSelected()) { logMask += " DEBUG3"; } if (fLevelStart.isSelected()) { logMask += " START"; } if (fLevelStop.isSelected()) { logMask += " STOP"; } if (fLevelPass.isSelected()) { logMask += " PASS"; } if (fLevelFail.isSelected()) { logMask += " FAIL"; } if (fLevelStatus.isSelected()) { logMask += " STATUS"; } if (fLevelUser1.isSelected()) { logMask += " USER1"; } if (fLevelUser2.isSelected()) { logMask += " USER2"; } if (fLevelUser3.isSelected()) { logMask += " USER3"; } if (fLevelUser4.isSelected()) { logMask += " USER4"; } if (fLevelUser5.isSelected()) { logMask += " USER5"; } if (fLevelUser6.isSelected()) { logMask += " USER6"; } if (fLevelUser7.isSelected()) { logMask += " USER7"; } if (fLevelUser8.isSelected()) { logMask += " USER8"; } if (!(logMask.equals(""))) { logMask = " LEVELMASK" + logMask; } else { logMask = " LEVELMASK" + " 00000000000000000000000000000000"; } return logMask; } public int occurrences(String str, String match) { int count = 0; int index = 0; while (index != -1) { index = str.indexOf(match, index + 1); if (index > -1) count++; } return count; } public boolean allLevelsSelected() { if (fLevelFatal.isSelected() && fLevelError.isSelected() && fLevelWarning.isSelected() && fLevelInfo.isSelected() && fLevelTrace.isSelected() && fLevelTrace2.isSelected() && fLevelTrace3.isSelected() && fLevelDebug.isSelected() && fLevelDebug2.isSelected() && fLevelDebug3.isSelected() && fLevelStart.isSelected() && fLevelStop.isSelected() && fLevelPass.isSelected() && fLevelFail.isSelected() && fLevelStatus.isSelected() && fLevelUser1.isSelected() && fLevelUser2.isSelected() && fLevelUser3.isSelected() && fLevelUser4.isSelected() && fLevelUser5.isSelected() && fLevelUser6.isSelected() && fLevelUser7.isSelected() && fLevelUser8.isSelected()) { return true; } else { return false; } } public Vector refreshTable(boolean returnEmptyVector) { Vector logLines = getLogLines(returnEmptyVector); if (logLines == null) return null; fLogTable.setRowHeight(30); fLogTable.setModel(new STAFTableModel(logLines, columnNames)); updateLogTableRenderers(); updateRowHeights(fLogTable, 2, fFontName); sizeColumnsToFitText(fLogTable); return logLines; } public void updateLogTableRenderers() { fLogTable.getColumnModel().getColumn(0).setHeaderRenderer( new STAFLogTableCellRenderer(true)); fLogTable.getColumnModel().getColumn(1).setHeaderRenderer( new STAFLogTableCellRenderer(true)); fLogTable.getColumnModel().getColumn(2).setHeaderRenderer( new STAFLogTableCellRenderer(true)); fLogTable.getColumnModel().getColumn(0).setCellRenderer( new STAFLogTableCellRenderer(false)); fLogTable.getColumnModel().getColumn(1).setCellRenderer( new STAFLogTableCellRenderer(false)); fLogTable.getColumnModel().getColumn(2).setCellRenderer( new STAFLogTableCellRenderer(false)); } public static void updateRowHeights(JTable table, int multiLineColumn, String fontName) { int numLines = 1; for (int i = 0 ; i < table.getRowCount() ; i++) { JTextArea textarea = new JTextArea( (String)table.getValueAt(i, multiLineColumn)); textarea.setFont(new Font(fontName, Font.PLAIN, 12)); int height = textarea.getPreferredSize().height + 5; table.setRowHeight(i, height); } } public static void sizeColumnsToFitText(JTable table) { int tableWidth = 0; FontMetrics metrics = table.getFontMetrics(table.getFont()); for (int i = 0; i < table.getColumnCount(); i++) { int width = 0; int maxWidth = 0; Vector data = new Vector(); data.addElement(table.getColumnModel().getColumn(i). getHeaderValue()); for (int j = 0; j < table.getRowCount(); j++) { try { Object obj = table.getValueAt(j,i); String cellText = "";
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -