My_Logger_Util

Basic Logger Util for my UserScripts

此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.cn-greasyfork.org/scripts/404462/812560/My_Logger_Util.js

  1. /*
  2. add log function to userscript
  3. forceOn overload will not throw err if null
  4. if forceOn == true log will still appear
  5.  
  6. function log(logs, forceOn) {
  7. var call = log.caller.name; //get caller function
  8. var debug = true;
  9. logger(logs, debug, call, forceOn);
  10. }
  11. */
  12.  
  13. //returns a 12 hour clock timestamp
  14. //MM/DD/YYYY HH:MM:SS AM/PM
  15. function timestamp() {
  16. var cd = new Date(); //current date
  17. var month = (cd.getMonth() + 1);
  18. var year = cd.getFullYear();
  19. var date = cd.getDate();
  20. var hours = cd.getHours();
  21. var min = cd.getMinutes();
  22. var sec = cd.getSeconds();
  23. var amBool = "AM";
  24.  
  25. if (hours == 0) {
  26. hours = 12; //0 is 12 am
  27. } else if (hours > 12) { //24 hour clock to 12 hour
  28. hours = hours - 12;
  29. amBool = "PM";
  30. }
  31.  
  32. if (min <= 9) {
  33. min = "0" + min;
  34. }
  35.  
  36. if (sec <= 9) {
  37. sec = "0" + sec;
  38. }
  39.  
  40. var stamp = month + "/"
  41. + date + "/"
  42. + year + " "
  43. + hours + ":"
  44. + min + ":"
  45. + sec + " "
  46. + amBool;
  47.  
  48. return stamp;
  49. }
  50.  
  51. //Custom console log, will output caller function and a timestamp in addition to each log
  52. //forceOn overload is not required, if passed true the logger will output even if debug is false
  53. function logger(logs, debug, call, forceOn) {
  54.  
  55. if (debug && forceOn != false || forceOn) { //if debug or forceOn are true
  56. var ts = timestamp(); //get a timestamp
  57.  
  58. //Log caller function, timestamp, and log logs
  59. console.log(
  60. "Log | " + logs
  61. + "\n Caller Function | " + call
  62. + "\n Timestamp | " + ts);
  63. }
  64. }
  65.