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