PageRenderTime 32ms CodeModel.GetById 21ms RepoModel.GetById 0ms app.codeStats 0ms

/packages/apps/get-a-robot-vpn-frontend/src/org/codeandroid/vpnc_frontend/LoggingThread.java

http://get-a-robot-vpnc.googlecode.com/
Java | 56 lines | 49 code | 7 blank | 0 comment | 5 complexity | 4a2d6268bad14afd4fc11f52c41cc5c8 MD5 | raw file
Possible License(s): GPL-2.0, LGPL-2.1, LGPL-2.0
  1. package org.codeandroid.vpnc_frontend;
  2. import java.io.BufferedReader;
  3. import java.io.IOException;
  4. import java.io.InputStream;
  5. import java.io.InputStreamReader;
  6. import java.io.PrintWriter;
  7. public class LoggingThread extends Thread
  8. {
  9. private BufferedReader bufferedReader;
  10. private PrintWriter logWriter;
  11. private String prefix;
  12. private boolean quit = false;
  13. private int priority;
  14. public LoggingThread(InputStream inputStream, PrintWriter logWriter, String prefix, int priority)
  15. {
  16. this.prefix = prefix;
  17. this.logWriter = logWriter;
  18. bufferedReader = new BufferedReader( new InputStreamReader( inputStream ) );
  19. this.priority = priority;
  20. }
  21. @Override
  22. public void run()
  23. {
  24. try
  25. {
  26. for( String line = bufferedReader.readLine(); line != null && !quit; line = bufferedReader.readLine() )
  27. {
  28. Util.printLog( priority, prefix + line );
  29. if( logWriter != null )
  30. {
  31. logWriter.println( prefix + line );
  32. }
  33. }
  34. }
  35. catch( IOException e )
  36. {
  37. Util.error( prefix + e.getMessage(), e );
  38. }
  39. finally
  40. {
  41. logWriter.flush();
  42. logWriter.close();
  43. }
  44. }
  45. public void quit()
  46. {
  47. quit = true;
  48. }
  49. }