Home | History | Annotate | Download | only in imps
      1 /*
      2  * Copyright (C) 2007-2008 Esmertec AG.
      3  * Copyright (C) 2007-2008 The Android Open Source Project
      4  *
      5  * Licensed under the Apache License, Version 2.0 (the "License");
      6  * you may not use this file except in compliance with the License.
      7  * You may obtain a copy of the License at
      8  *
      9  *      http://www.apache.org/licenses/LICENSE-2.0
     10  *
     11  * Unless required by applicable law or agreed to in writing, software
     12  * distributed under the License is distributed on an "AS IS" BASIS,
     13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     14  * See the License for the specific language governing permissions and
     15  * limitations under the License.
     16  */
     17 
     18 package com.android.im.imps;
     19 
     20 import com.android.internal.util.HexDump;
     21 
     22 import java.io.ByteArrayOutputStream;
     23 import java.io.IOException;
     24 
     25 import android.util.Log;
     26 
     27 public class ImpsLog {
     28     public static final String TAG = "IMPS";
     29 
     30     public static final String PACKET_TAG = "IMPS/Packet";
     31 
     32     public static final boolean DEBUG = true;
     33 
     34     private static PrimitiveSerializer mSerialzier;
     35 
     36     private ImpsLog() {
     37     }
     38 
     39     static {
     40         // we don't really care about the namespace values in the log
     41         mSerialzier = new XmlPrimitiveSerializer("", "");
     42     }
     43 
     44     public static void dumpRawPacket(byte[] bytes) {
     45         Log.d(PACKET_TAG, HexDump.dumpHexString(bytes));
     46     }
     47 
     48     public static void dumpPrimitive(Primitive p) {
     49         ByteArrayOutputStream out = new ByteArrayOutputStream();
     50         try {
     51             mSerialzier.serialize(p, out);
     52         } catch (IOException e) {
     53             Log.e(PACKET_TAG, "Bad Primitive");
     54         } catch (SerializerException e) {
     55             Log.e(PACKET_TAG, "Bad Primitive");
     56         }
     57         Log.d(PACKET_TAG, out.toString());
     58     }
     59 
     60     public static void log(Primitive primitive) {
     61         if(DEBUG) {
     62             ByteArrayOutputStream out = new ByteArrayOutputStream();
     63             try {
     64                 mSerialzier.serialize(primitive, out);
     65             } catch (IOException e) {
     66                 Log.e(TAG, e.getMessage(), e);
     67             } catch (SerializerException e) {
     68                 Log.e(TAG, e.getMessage(), e);
     69             }
     70             Log.i(TAG, out.toString());
     71         }
     72     }
     73 
     74     public static void log(String info) {
     75         if(DEBUG) {
     76             Log.d(TAG, /* DateFormat.format("kk:mm:ss ", new Date()) + */ info);
     77         }
     78     }
     79 
     80     public static void logError(Throwable t) {
     81         Log.e(TAG, /* DateFormat.format("kk:mm:ss", new Date()).toString() */ "", t);
     82     }
     83 
     84     public static void logError(String info, Throwable t) {
     85         Log.e(TAG, /* DateFormat.format("kk:mm:ss ", new Date()) + */ info, t);
     86     }
     87 
     88     public static void logError(String info) {
     89         Log.e(TAG, /* DateFormat.format("kk:mm:ss ", new Date()) + */ info);
     90     }
     91 }
     92