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