コード例 #1
0
    @Override
    public void inBackground() {
      mEnabled =
          (Prefs.getLastEmail() < (System.currentTimeMillis() - 15 * 60 * 1000)
              && sHelper.isThereSomethingBad(FailureLevel.error));
      if (!mForce && !mEnabled) {
        return; // do nothing
      }

      final ArrayList<LogEntry> logs = sHelper.getLogs();

      try {
        File file = new File(Environment.getExternalStorageDirectory(), LOG_FILE);
        FileOutputStream stream = new FileOutputStream(file);
        GZIPOutputStream gzipStream = new GZIPOutputStream(stream);
        OutputStreamWriter writer = new OutputStreamWriter(gzipStream);
        BufferedWriter bWriter = new BufferedWriter(writer);
        for (LogEntry entry : logs) {
          bWriter.write(
              Long.toString(entry.time)
                  + "\t"
                  + entry.level.toString()
                  + "\t\t"
                  + entry.tag
                  + ": "
                  + entry.message
                  + "\n");
        }
        bWriter.close();
      } catch (IOException e) {
        mStatus = false;
      }
    }