Log.java: use Packet.toString()
[fleet.git] / src / edu / berkeley / fleet / interpreter / Log.java
1 package edu.berkeley.fleet.interpreter;
2 import edu.berkeley.sbp.util.ANSI;
3 import edu.berkeley.fleet.api.*;
4 import java.io.*;
5
6 public class Log {
7
8     public static PrintWriter log = new PrintWriter(new OutputStreamWriter(System.out));
9     public static boolean quiet = false;
10
11     public static void print(Object o) {
12         if (log==null || quiet) return;
13         try {
14             log.print(o);
15         } catch (Exception e) { throw new RuntimeException(e); }
16     }
17     public static void println() { println(""); }
18     public static void println(Object o) {
19         if (log==null || quiet) return;
20         try {
21             log.println(o);
22             log.flush();
23         } catch (Exception e) { throw new RuntimeException(e); }
24     }
25
26     public static void packet(Packet p) {
27         println(p.toString());
28     }
29
30     public static void error(Object o) { println(ANSI.red(o)); }
31
32     public static String indent(String s, String indent) {
33         StringBuffer ret = new StringBuffer();
34         for(int i=0; i<s.length(); i++) {
35             char c = s.charAt(i);
36             if (!(c=='\n' && i==s.length()-1))
37                 ret.append(c);
38             if (c=='\n' && i<s.length()-1)
39                 ret.append(indent);
40         }
41         return ret.toString();
42     }
43 }