Created
April 8, 2011 09:48
Revisions
-
simlan revised this gist
Apr 8, 2011 . 1 changed file with 16 additions and 18 deletions.There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -18,20 +18,23 @@ * log4jfiles and show in applet with a table jtable with columns that you can * resize columns. * * assumes log4j standard output for logs created in 2011: <code> * 2011-MMM-DD HH:MM:SS com.package class method * LEVEL: TEXT * ADDITIONAL TEXT * ADDITIONAL TEXT * ADDITIONAL TEXT * 2011-MMM-DD HH:MM:SS com.package class method * LEVEL: TEXT * </code> and so on */ public class LogReader extends JApplet { /** * */ private static final long serialVersionUID = 1L; private final class RunnableImplementation implements Runnable { private static final String LOG_FILE_URI = "file:///somefile.log"; private final JTable table; @@ -51,21 +54,19 @@ public void run() { if (f.length() > lengthRead) { BufferedReader br = new BufferedReader(new FileReader(f)); DefaultTableModel model = (DefaultTableModel) table.getModel(); while (br.ready()) { String readLine = br.readLine(); while (br.ready()) { if (readLine.startsWith("2011-")) { String time = readLine.subSequence(12, 20).toString(); String rest = readLine.substring(20); Pattern p = Pattern.compile("[A-Z]"); String[] split = p.split(rest); String packagee = split[0].substring(split[0].indexOf(".") + 1); String[] split2 = rest.substring(split[0].length()).split(" "); String clazz = split2[0]; String method = split2[1]; @@ -78,19 +79,16 @@ public void run() { text = text.concat(string); } model.insertRow(0, new Object[] { level, time, packagee, clazz, method, text }); readLine = br.readLine(); while (!readLine.startsWith("2011-") && br.ready()) { text = readLine; readLine = br.readLine(); model.insertRow(0, new Object[] { "", "", "", "", "", text }); } } else { throw new RuntimeException("parse error :'" + readLine + "'"); } } -
simlan revised this gist
Apr 8, 2011 . 1 changed file with 19 additions and 3 deletions.There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -12,7 +12,23 @@ import javax.swing.table.DefaultTableModel; /** * A simple java swing applet japplet, that makes a table a jtable and fills its * columns and rows with parsed log4j data from a log file which it parses a * parser for such log files so it is a log reader which can parse logfiles * log4jfiles and show in applet with a table jtable with columns that you can * resize columns. * * assumes log4j standard output for logs created in 2011: * <code> * 2011-MMM-DD HH:MM:SS com.package class method * LEVEL: TEXT * ADDITIONAL TEXT * ADDITIONAL TEXT * ADDITIONAL TEXT * 2011-MMM-DD HH:MM:SS com.package class method * LEVEL: TEXT * </code> * and so on */ public class LogReader extends JApplet { @@ -40,7 +56,7 @@ public void run() { while (br.ready()) { String readLine = br.readLine(); while (br.ready()) { if (readLine.startsWith("2011-")) { String time = readLine.subSequence(12, 20) .toString(); String rest = readLine.substring(20); @@ -66,7 +82,7 @@ public void run() { packagee, clazz, method, text }); readLine = br.readLine(); while (!readLine.startsWith("2011-") && br.ready()) { text = readLine; readLine = br.readLine(); model.insertRow(0, new Object[] { "", "", "", "", -
simlan renamed this gist
Apr 8, 2011 . 1 changed file with 0 additions and 0 deletions.There are no files selected for viewing
File renamed without changes. -
anonomis revised this gist
Apr 8, 2011 . 1 changed file with 3 additions and 0 deletions.There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -11,6 +11,9 @@ import javax.swing.JTable; import javax.swing.table.DefaultTableModel; /** * Absurdly simple Log4j parser applet. */ public class LogReader extends JApplet { private final class RunnableImplementation implements Runnable { -
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -13,94 +13,107 @@ public class LogReader extends JApplet { private final class RunnableImplementation implements Runnable { private static final String LOG_FILE_URI = "file:///somefile.log"; private final JTable table; private RunnableImplementation(JTable table) { this.table = table; } @Override public void run() { try { File f = new File(new URI(LOG_FILE_URI)); long lengthRead = 0; while (true != false) { if (f.length() > lengthRead) { BufferedReader br = new BufferedReader(new FileReader(f)); DefaultTableModel model = (DefaultTableModel) table .getModel(); while (br.ready()) { String readLine = br.readLine(); while (br.ready()) { if (readLine.startsWith("2011")) { String time = readLine.subSequence(12, 20) .toString(); String rest = readLine.substring(20); Pattern p = Pattern.compile("[A-Z]"); String[] split = p.split(rest); String packagee = split[0].substring(split[0] .indexOf(".") + 1); String[] split2 = rest.substring(split[0].length()) .split(" "); String clazz = split2[0]; String method = split2[1]; readLine = br.readLine(); split = readLine.split(":"); String level = split[0]; String text = split[1]; for (String string : split) { text = text.concat(string); } model.insertRow(0, new Object[] { level, time, packagee, clazz, method, text }); readLine = br.readLine(); while (!readLine.startsWith("2011") && br.ready()) { text = readLine; readLine = br.readLine(); model.insertRow(0, new Object[] { "", "", "", "", "", text }); } } else { throw new RuntimeException("parse error :'" + readLine + "'"); } } } lengthRead = f.length(); } Thread.sleep(10L); } } catch (Exception e) { throw new RuntimeException(e); } } } public LogReader() { String data[][] = {}; String col[] = { "level", "date", "package", "class", "method", "text" }; DefaultTableModel model = new DefaultTableModel(data, col); final JTable table = new JTable(model); table.setSize(1100, 650); JScrollPane pane = new JScrollPane(table); pane.setSize(1100, 650); table.getColumnModel().getColumn(0).setMaxWidth(35); table.getColumnModel().getColumn(1).setMaxWidth(65); table.getColumnModel().getColumn(2).setPreferredWidth(128); table.getColumnModel().getColumn(2).setResizable(false); table.getColumnModel().getColumn(3).setPreferredWidth(128); table.getColumnModel().getColumn(4).setPreferredWidth(128); table.getColumnModel().getColumn(5).setPreferredWidth(1000); table.getColumnModel().getColumn(5).setPreferredWidth(1000); this.add(pane); Runnable d = new RunnableImplementation(table); Thread th = new Thread(d); th.start(); } } -
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -15,11 +15,6 @@ public class LogReader extends JApplet { public LogReader() { String data[][] = {}; String col[] = { "level", "date", "package", "class", "method", "text" }; DefaultTableModel model = new DefaultTableModel(data, col); @@ -37,15 +32,6 @@ public LogReader() { table.getColumnModel().getColumn(5).setPreferredWidth(1000); table.getColumnModel().getColumn(5).setPreferredWidth(1000); this.add(pane); Runnable d = new Runnable() { @@ -55,7 +41,7 @@ public void run() { try { File f = new File( new URI( "file:///home...")); long lengthRead = 0; -
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,120 @@ package main; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.net.URI; import java.util.regex.Pattern; import javax.swing.JApplet; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.table.DefaultTableModel; public class LogReader extends JApplet { public LogReader() { // JTable jTable = new JTable(40, 4); // JPanel panel = new JPanel(); // panel.setSize(1100, 650); // this.add(panel); // this.add(jTable); String data[][] = {}; String col[] = { "level", "date", "package", "class", "method", "text" }; DefaultTableModel model = new DefaultTableModel(data, col); final JTable table = new JTable(model); table.setSize(1100, 650); JScrollPane pane = new JScrollPane(table); pane.setSize(1100, 650); table.getColumnModel().getColumn(0).setMaxWidth(35); table.getColumnModel().getColumn(1).setMaxWidth(65); table.getColumnModel().getColumn(2).setPreferredWidth(128); table.getColumnModel().getColumn(2).setResizable(false); table.getColumnModel().getColumn(3).setPreferredWidth(128); table.getColumnModel().getColumn(4).setPreferredWidth(128); table.getColumnModel().getColumn(5).setPreferredWidth(1000); table.getColumnModel().getColumn(5).setPreferredWidth(1000); // Insert first position // model.insertRow(0, new Object[] { "Ranjan", "50" }); // // Insert 4 position // for (int i = 0; i < 100000; i++) { // model.insertRow(3, new Object[] { "Amar", "600" }); // } // // Insert last position // model.insertRow(table.getRowCount(), new Object[] { "Sushil", "600" // }); this.add(pane); Runnable d = new Runnable() { @Override public void run() { try { File f = new File( new URI( "file:///home/simon/code/git/musikdestination-tomcat/apache-tomcat-6.0.32-portal/logs/catalina.2011-04-07.log")); long lengthRead = 0; while (true != false) { if (f.length() > lengthRead) { BufferedReader br = new BufferedReader(new FileReader(f)); DefaultTableModel model = (DefaultTableModel) table.getModel(); while (br.ready()) { String readLine = br.readLine(); while (br.ready()) { if (readLine.startsWith("2011")) { String time = readLine.subSequence(12, 20).toString(); String rest = readLine.substring(20); Pattern p = Pattern.compile("[A-Z]"); String[] split = p.split(rest); String packagee = split[0].substring(split[0].indexOf(".") + 1); String[] split2 = rest.substring(split[0].length()).split(" "); String clazz = split2[0]; String method = split2[1]; readLine = br.readLine(); split = readLine.split(":"); String level = split[0]; String text = split[1]; for (String string : split) { text = text.concat(string); } model.insertRow(0, new Object[] { level, time, packagee, clazz, method, text }); readLine = br.readLine(); while (!readLine.startsWith("2011") && br.ready()) { text = readLine; readLine = br.readLine(); model.insertRow(0, new Object[] { "", "", "", "", "", text }); } } else { throw new RuntimeException("parse error :'" + readLine + "'"); } } } lengthRead = f.length(); } Thread.sleep(10L); } } catch (Exception e) { throw new RuntimeException(e); } } }; Thread th = new Thread(d); th.start(); } } Empty file.