logger.ts 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. const DEBUG: boolean = false;
  2. const INTOOLS: boolean = false;
  3. export function log(msg: string): void {
  4. if (DEBUG) {
  5. log4Android(msg);
  6. } else {
  7. console.log(msg);
  8. }
  9. }
  10. export function log4AndroidD(msg: string,tag:string): void {
  11. let log = "android.util.Log";
  12. let log_cls = Java.use(log);
  13. log_cls.d(tag, msg);
  14. }
  15. export function log4AndroidV(msg: string,tag:string): void {
  16. let log = "android.util.Log";
  17. let log_cls = Java.use(log);
  18. log_cls.v(tag, msg);
  19. }
  20. export function log4AndroidI(msg: string,tag:string): void {
  21. let log = "android.util.Log";
  22. let log_cls = Java.use(log);
  23. log_cls.i(tag, msg);
  24. }
  25. export function log4AndroidW(msg: string,tag:string): void {
  26. let log = "android.util.Log";
  27. let log_cls = Java.use(log);
  28. log_cls.w(tag, msg);
  29. }
  30. export function log4AndroidE(msg: string,tag:string): void {
  31. let log = "android.util.Log";
  32. let log_cls = Java.use(log);
  33. log_cls.e(tag, msg);
  34. }
  35. export function log4Android(msg: string): void {
  36. let log = "android.util.Log";
  37. let log_cls = Java.use(log);
  38. log_cls.w("Dumper", msg);
  39. }
  40. export function logHHex(pointer :NativePointer) :void {
  41. let s = hexdump(pointer, {
  42. offset: 0,
  43. length: 64,
  44. header: true,
  45. ansi: true
  46. });
  47. console.log(s);
  48. }
  49. export function logHHexLength(pointer :NativePointer,length: number) :void {
  50. console.log(hexdump(pointer, {
  51. offset: 0,
  52. length: length,
  53. header: true,
  54. ansi: true
  55. }));
  56. }
  57. export function logColor(message: string, type: number): void {
  58. if (DEBUG) {
  59. log4Android(message);
  60. return;
  61. }
  62. if (INTOOLS){
  63. log(message)
  64. return;
  65. }
  66. if (type == undefined) {
  67. log(message)
  68. return;
  69. }
  70. switch (type) {
  71. case LogColor.WHITE_TEXT:
  72. case LogColor.WHITE_BG:
  73. log(message);
  74. break;
  75. case LogColor.RED_TEXT:
  76. case LogColor.RED_BG:
  77. console.error(message);
  78. break;
  79. case LogColor.YELLOW_TEXT:
  80. case LogColor.YELLOW_BG:
  81. console.warn(message);
  82. break;
  83. default:
  84. console.log("\x1b[" + type + "m" + message + "\x1b[0m");
  85. break;
  86. }
  87. }
  88. export var LogColor = {
  89. // STANDARD TEXT COLORS
  90. BLACK_TEXT: 30,
  91. RED_TEXT: 31,
  92. GREEN_TEXT: 32,
  93. YELLOW_TEXT: 33,
  94. BLUE_TEXT: 34,
  95. MAGENTA_TEXT: 35,
  96. CYAN_TEXT: 36,
  97. WHITE_TEXT: 37,
  98. // EXTENDED TEXT COLORS (BRIGHT VERSIONS)
  99. BRIGHT_BLACK_TEXT: 90,
  100. BRIGHT_RED_TEXT: 91,
  101. BRIGHT_GREEN_TEXT: 92,
  102. BRIGHT_YELLOW_TEXT: 93,
  103. BRIGHT_BLUE_TEXT: 94,
  104. BRIGHT_MAGENTA_TEXT: 95,
  105. BRIGHT_CYAN_TEXT: 96,
  106. BRIGHT_WHITE_TEXT: 97,
  107. // STANDARD BACKGROUND COLORS
  108. BLACK_BG: 40,
  109. RED_BG: 41,
  110. GREEN_BG: 42,
  111. YELLOW_BG: 43,
  112. BLUE_BG: 44,
  113. MAGENTA_BG: 45,
  114. CYAN_BG: 46,
  115. WHITE_BG: 47,
  116. // EXTENDED BACKGROUND COLORS (BRIGHT VERSIONS)
  117. BRIGHT_BLACK_BG: 100,
  118. BRIGHT_RED_BG: 101,
  119. BRIGHT_GREEN_BG: 102,
  120. BRIGHT_YELLOW_BG: 103,
  121. BRIGHT_BLUE_BG: 104,
  122. BRIGHT_MAGENTA_BG: 105,
  123. BRIGHT_CYAN_BG: 106,
  124. BRIGHT_WHITE_BG: 107
  125. }