My_Logger_Util

Basic Logger Util for my UserScripts

当前为 2020-06-01 提交的版本,查看 最新版本

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

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