Gruppe 1
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

Logger.java 1.5KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. package com.example.ueberwachungssystem.Detector.logger;
  2. import android.util.Log;
  3. import android.widget.TextView;
  4. import java.io.PrintWriter;
  5. import java.io.StringWriter;
  6. public class Logger {
  7. private TextView textView;
  8. private StringBuffer sb = new StringBuffer();
  9. private String tag;
  10. private int lengthOfLastLog = 0;
  11. private boolean overwrite = false;
  12. public Logger(String tag, TextView textView, String logInitText) {
  13. this.tag = tag;
  14. this.textView = textView;
  15. sb.append(logInitText);
  16. }
  17. public void log(String s) {
  18. overwrite = false;
  19. Log.d(tag, s);
  20. sb.append(s).append("\n");
  21. if (textView != null) {
  22. textView.setText(sb.toString());
  23. }
  24. }
  25. public void overwriteLastlog(String s) {
  26. Log.d(tag, s);
  27. lengthOfLastLog = s.length();
  28. if (overwrite)
  29. {
  30. sb.setLength(sb.length() - (lengthOfLastLog + 1));
  31. }
  32. sb.append(s).append("\n");
  33. overwrite = true;
  34. if (textView != null) {
  35. textView.setText(sb.toString());
  36. }
  37. }
  38. public void log(Exception e) {
  39. StringWriter sw = new StringWriter();
  40. e.printStackTrace(new PrintWriter(sw));
  41. log(sw.toString());
  42. }
  43. public void clearLog() {
  44. sb.setLength(0);
  45. if (textView != null) {
  46. textView.setText("");
  47. }
  48. }
  49. public String getLoggedText() {
  50. return sb.toString();
  51. }
  52. }