Annotation of java/classes/org/w3c/tools/log/Resolve.java, revision 1.2
1.1 ylafon 1: // Resolve.java
1.2 ! ylafon 2: // $Id: Resolve.java,v 1.1 1999/03/19 13:45:21 ylafon Exp $
1.1 ylafon 3: // (c) COPYRIGHT MIT, INRIA and Keio, 1996-1999.
4: // Please first read the full copyright statement in file COPYRIGHT.html
5:
6: // a small log resolver that can add timestamps for sorting.
7: // @author Yves Lafon <ylafon@w3.org>
8:
9: package org.w3c.tools.log;
10:
11: import java.lang.*;
12: import java.util.*;
13: import java.io.*;
14:
1.2 ! ylafon 15: /**
! 16: * A simple and a little specific resolver
! 17: * It can add numeric timestamps to ease the sort of the logfile
! 18: * It can do DNS resolution (of course) using multiple threads
! 19: * a -help explains all ;)
! 20: */
! 21:
1.1 ylafon 22: public class Resolve {
23:
24: public static void main(String args[]) {
25:
26: BufferedReader bf = null;
27: int maxThread = 0;
28: boolean usage = false;
29: int offset = 0;
30: boolean timestamp = true;
1.2 ! ylafon 31: boolean resolve = true;
1.1 ylafon 32: DNSResolver resolver;
33:
34: if (args.length > 0) {
35: while (args.length - offset > 0 && args[offset].charAt(0) == '-') {
36: if (args[offset].equals("-thmax")) {
37: offset++;
1.2 ! ylafon 38: if (resolve) {
! 39: try {
! 40: maxThread = Integer.parseInt(args[offset]);
! 41: } catch (NumberFormatException nfe) {
! 42: usage = true;
! 43: }
1.1 ylafon 44: }
45: } else if (args[0].equals("-notime")) {
46: timestamp = false;
1.2 ! ylafon 47: } else if (args[0].equals("-nores")) {
! 48: timestamp = true;
! 49: resolve = false;
1.1 ylafon 50: } else if (args[0].equals("-help")) {
51: usage = true;
52: } else {
53: usage = true;
54: }
55: offset++;
56: }
57: }
58: if (usage) {
59: System.out.println("Usage: java org.w3c.tools.log.Resolve " +
1.2 ! ylafon 60: " [-notime] [-nores] [-thmax #] [logfile]*");
1.1 ylafon 61: System.out.println(" it can also read from stdin.");
62: System.out.println(" java -help");
63: System.exit(0);
64: }
65: if (args.length - offset > 0) {
66: while (offset < args.length) {
67: File logfile = new File(args[offset]) ;
68: FileReader fr;
69:
70: if (!logfile.exists()) {
71: System.err.println("No logfile of this name :"
72: + args[offset]);
73: System.exit(1);
74: }
75: try {
76: fr = new FileReader(logfile);
77: } catch (FileNotFoundException ex) {
78: System.err.println("log file " + args[offset]
79: + "not found!");
80: return;
81: }
82: bf = new BufferedReader(fr);
83: if (maxThread != 0)
1.2 ! ylafon 84: resolver = new DNSResolver(bf, maxThread,
! 85: timestamp, resolve);
1.1 ylafon 86: else
1.2 ! ylafon 87: resolver = new DNSResolver(bf, timestamp, resolve);
1.1 ylafon 88: resolver.readLog();
89: offset++;
90: }
91: } else {
92: bf = new BufferedReader(new InputStreamReader(System.in));
93: if (maxThread != 0)
1.2 ! ylafon 94: resolver = new DNSResolver(bf, maxThread, timestamp, resolve);
1.1 ylafon 95: else
1.2 ! ylafon 96: resolver = new DNSResolver(bf, timestamp, resolve);
1.1 ylafon 97: resolver.readLog();
98: }
99: }
100: }
Webmaster