Home | History | Annotate | Download | only in logcat
      1 /*
      2  * Copyright (C) 2016 The Android Open Source Project
      3  *
      4  * Licensed under the Apache License, Version 2.0 (the "License");
      5  * you may not use this file except in compliance with the License.
      6  * You may obtain a copy of the License at
      7  *
      8  *      http://www.apache.org/licenses/LICENSE-2.0
      9  *
     10  * Unless required by applicable law or agreed to in writing, software
     11  * distributed under the License is distributed on an "AS IS" BASIS,
     12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13  * See the License for the specific language governing permissions and
     14  * limitations under the License.
     15  */
     16 
     17 package com.android.bugreport.logcat;
     18 
     19 import com.android.bugreport.bugreport.ProcessInfo;
     20 import com.android.bugreport.bugreport.ThreadInfo;
     21 import com.android.bugreport.util.Line;
     22 
     23 import java.util.ArrayList;
     24 import java.util.GregorianCalendar;
     25 
     26 /**
     27  * A log line.
     28  */
     29 public class LogLine extends Line {
     30 
     31     /**
     32      * The raw text of the log.
     33      */
     34     public String rawText;
     35 
     36     /**
     37      * If this is set, this line is the beginning of a log buffer. All the following
     38      * fields will be null / unset.
     39      */
     40     public String bufferBegin;
     41 
     42     /**
     43      * The raw text of everything up to the tag.
     44      */
     45     public String header;
     46 
     47     /**
     48      * The timestamp of the event. In UTC even though the device might not have been.
     49      */
     50     public GregorianCalendar time;
     51 
     52     /**
     53      * The process that emitted the log.
     54      */
     55     public int pid = -1;
     56 
     57     /**
     58      * The thread that emitted the log.
     59      */
     60     public int tid = -1;
     61 
     62     /**
     63      * The log level. One of EWIDV.
     64      */
     65     public char level;
     66 
     67     /**
     68      * The log tag.
     69      */
     70     public String tag;
     71 
     72     /**
     73      * If this log was taken during the period when the app was unresponsive
     74      * preceeding an anr.
     75      */
     76     public boolean regionAnr;
     77 
     78     /**
     79      * If a bugreport was being taken during this log line
     80      */
     81     public boolean regionBugreport;
     82 
     83     /**
     84      * The process associated with this log line.
     85      *
     86      * TODO: Use the full list of processes from all sources, not just the one from the ANR.
     87      */
     88     public ProcessInfo process;
     89 
     90     /**
     91      * The thread associated with this log line.
     92      *
     93      * TODO: Use the full list of processes from all sources, not just the one from the ANR.
     94      */
     95     public ThreadInfo thread;
     96 }
     97 
     98