コード例 #1
0
ファイル: LogViewer.java プロジェクト: Tody-Guo/qsysinfo
  String collectCSVLogContent() {
    StringBuffer sb = new StringBuffer();

    ListAdapter adapter = getListView().getAdapter();
    int cnt = adapter.getCount();

    if (dmesgMode) {
      sb.append("LEVEL,TIME,MSG\n"); // $NON-NLS-1$

      for (int i = 0; i < cnt; i++) {
        LogItem log = (LogItem) adapter.getItem(i);

        if (log.msgList == null) {
          sb.append(log.level).append(',');

          if (log.time != null) {
            sb.append(SysInfoManager.escapeCsv(log.time));
          }

          sb.append(',').append(SysInfoManager.escapeCsv(log.msg)).append('\n');
        } else {
          for (int k = 0, size = log.msgList.size(); k < size; k++) {
            sb.append(log.level).append(',');

            if (log.time != null) {
              sb.append(SysInfoManager.escapeCsv(log.time));
            }

            sb.append(',').append(SysInfoManager.escapeCsv(log.msgList.get(k))).append('\n');
          }
        }
      }
    } else {
      sb.append("TIME,LEVEL,TAG,PID,MSG\n"); // $NON-NLS-1$

      for (int i = 0; i < cnt; i++) {
        LogItem log = (LogItem) adapter.getItem(i);

        if (log.msgList == null) {
          sb.append(SysInfoManager.escapeCsv(log.time))
              .append(',')
              .append(log.level)
              .append(',')
              .append(SysInfoManager.escapeCsv(log.tag))
              .append(',')
              .append(log.pid)
              .append(',')
              .append(SysInfoManager.escapeCsv(log.msg))
              .append('\n');
        } else {
          for (int k = 0, size = log.msgList.size(); k < size; k++) {
            sb.append(SysInfoManager.escapeCsv(log.time))
                .append(',')
                .append(log.level)
                .append(',')
                .append(SysInfoManager.escapeCsv(log.tag))
                .append(',')
                .append(log.pid)
                .append(',')
                .append(SysInfoManager.escapeCsv(log.msgList.get(k)))
                .append('\n');
          }
        }
      }
    }

    return sb.toString();
  }