UNPKG

1.37 kBJavaScriptView Raw
1// facade for logger.
2// use concrete implementation of logger here.
3
4// var colors = require('colors');
5// see this gist before enabling colors : https://gist.github.com/indexzero/1451296
6var logger = require('tracer').colorConsole(
7 {
8 format : " {{timestamp}} <{{title}}> {{message}}",
9 dateformat : "HH:MM:ss.L"
10 // filters : {
11 // log : colors.green,
12 // trace : colors.magenta,
13 // debug : colors.blue,
14 // info : colors.green,
15 // warn : colors.yellow,
16 // error : [ colors.red, colors.bold ]
17 // }
18 });
19
20function log_to_socket(io, eventid, msg_type, text){
21 if (io){
22 io.of("/log").emit(eventid, {type: msg_type, msg: text});
23 }
24}
25
26module.exports = function (jobWorker, io){ //jobWorker and socket.io instance are optional
27
28 var prefix = jobWorker ? ('[' + jobWorker.dashboard_name + '] [' + jobWorker.job_name + '] ') : '';
29
30 return {
31 log : function(msg){
32 msg = prefix + msg;
33 logger.info(msg);
34 log_to_socket(io, 'server', 'log', msg);
35 },
36
37 warn: function(msg){
38 msg = prefix + msg;
39 logger.warn(msg);
40 log_to_socket(io, 'server', 'warn', msg);
41 },
42
43 error: function (msg){
44 msg = prefix + msg;
45 logger.error(msg);
46 log_to_socket(io, 'server', 'error', msg);
47 }
48 };
49
50};
\No newline at end of file