ConsoleLogger.java 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. package me.hammerle.snuviscript;
  2. import me.hammerle.snuviscript.code.ISnuviLogger;
  3. import me.hammerle.snuviscript.code.Script;
  4. import me.hammerle.snuviscript.exceptions.StackTrace;
  5. public class ConsoleLogger implements ISnuviLogger {
  6. @Override
  7. public void print(String message, Exception ex, String function, String scriptname, Script sc, StackTrace lines) {
  8. StringBuilder sb = new StringBuilder();
  9. if(ex == null) {
  10. sb.append("debug: '");
  11. sb.append(message);
  12. sb.append("'");
  13. } else {
  14. sb.append(ex.getClass().getSimpleName());
  15. sb.append(": '");
  16. sb.append(ex.getMessage());
  17. if(message != null && !message.isEmpty()) {
  18. sb.append(" - ");
  19. sb.append(message);
  20. }
  21. sb.append("'");
  22. }
  23. if(scriptname != null && !scriptname.isEmpty()) {
  24. sb.append(" in script '");
  25. sb.append(scriptname);
  26. sb.append("'");
  27. }
  28. if(sc != null) {
  29. sb.append(" id '");
  30. sb.append(sc.getId());
  31. sb.append("'");
  32. }
  33. if(function != null && !function.isEmpty()) {
  34. sb.append(" in function '");
  35. sb.append(function);
  36. sb.append("'");
  37. }
  38. if(lines != null) {
  39. sb.append(" in line '");
  40. sb.append(lines.toString());
  41. sb.append("'");
  42. }
  43. System.out.println(sb.toString());
  44. }
  45. }