logging.js 1017 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. var cluster = require("cluster");
  2. var config = require("./config");
  3. var exp = {};
  4. function split_args(args) {
  5. var text = "";
  6. for (var i = 0, l = args.length; i < l; i++) {
  7. if (i > 0) {
  8. text += " " + args[i];
  9. } else {
  10. text += args[i];
  11. }
  12. }
  13. return text;
  14. }
  15. function log(level, args, logger) {
  16. logger = logger || console.log;
  17. var time = config.log_time ? new Date().toISOString() + " " : "";
  18. var clid = (cluster.worker && cluster.worker.id || "M");
  19. var lines = split_args(args).split("\n");
  20. for (var i = 0, l = lines.length; i < l; i++) {
  21. logger(time + clid + " " + level + ": " + lines[i]);
  22. }
  23. }
  24. exp.log = function() {
  25. log(" INFO", arguments);
  26. };
  27. exp.warn = function() {
  28. log(" WARN", arguments, console.warn);
  29. };
  30. exp.error = function() {
  31. log("ERROR", arguments, console.error);
  32. };
  33. if (config.debug_enabled || process.env.DEBUG === "true") {
  34. exp.debug = function() {
  35. log("DEBUG", arguments);
  36. };
  37. } else {
  38. exp.debug = function(){};
  39. }
  40. module.exports = exp;