-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
fan.liu
committed
Aug 10, 2016
1 parent
344ad2d
commit 3879690
Showing
23 changed files
with
1,845 additions
and
3,790 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
var EmailSending = require("../routes/Util/EmailSending.js"); | ||
var CallbackChecking = require("../routes/Util/CallbackChecking.js"); | ||
|
||
exports.sendLogEmail = function(content){ | ||
EmailSending.sendEmail( | ||
{ | ||
host: "smtp.126.com", | ||
user: "[email protected]", | ||
pass: "liufanHH0406", | ||
from: "[email protected]", | ||
to: "[email protected]", | ||
subject: "【Important】服务器日志报警", | ||
content: content | ||
}, | ||
"LogEmail" | ||
); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,137 @@ | ||
var mongoose = require("mongoose"); | ||
var LogModel = require("./LogModel"); | ||
var util = require("util"); | ||
|
||
mongoose.connect("mongodb://"+"localhost"+"/"+"logs"+""); | ||
|
||
mongoose.connection.on('error', function() { | ||
throw new Error("failed to open mongoLog://" + "localhost"+"/"+"logs"); | ||
}); | ||
|
||
mongoose.connection.once('open', function(err) { | ||
console.log("succeeded to open mongodb://" +"localhost"+"/"+"logs"); | ||
}); | ||
|
||
var type_level_connection = { | ||
trace: 10, | ||
debug: 20, | ||
info: 30, | ||
warn: 40, | ||
error: 50, | ||
fatal: 60, | ||
} | ||
|
||
function createNewLog(type){ | ||
return function(log_message, log_data){ | ||
this.log_type = type; | ||
this.log_level = type_level_connection[type]; | ||
this.log_create_time = new Date(); | ||
this.log_message = log_message||null; | ||
this.log_data = log_data||null; | ||
|
||
var new_log_information = this; | ||
if (type=='trace'||type=='debug') { | ||
console.log(this); | ||
} else{ | ||
LogModel.createNewLog(new_log_information, function(err){ | ||
if (err) { | ||
console.log(err); | ||
}; | ||
}); | ||
} | ||
} | ||
}; | ||
|
||
// check the runtime environment | ||
function checkRuntimeEnv() { | ||
var runtimeEnv; | ||
if (typeof (process) !== 'undefined' && process.versions) { | ||
if (process.versions.nw) { | ||
runtimeEnv = 'nw'; | ||
return 'nw'; | ||
} else if (process.versions.node) { | ||
runtimeEnv = 'node'; | ||
return 'node'; | ||
}; | ||
}; | ||
if (!runtimeEnv && typeof (window) !== 'undefined' && | ||
window.window === window) { | ||
runtimeEnv = 'browser'; | ||
return 'browser'; | ||
}; | ||
if (!runtimeEnv) { | ||
throw new Error('unknown runtime environment'); | ||
}; | ||
} | ||
// check the pid | ||
function checkProcessPID(){ | ||
if(process.pid){ | ||
return process.pid; | ||
} else{ | ||
appendToErrors("cannot get pid information"); | ||
}; | ||
} | ||
|
||
|
||
|
||
function LogFan(configure_info){ | ||
|
||
this.runtimeEnv = checkRuntimeEnv(); | ||
|
||
// define the log level | ||
this.log_errors = []; | ||
this.pid = checkProcessPID(); | ||
|
||
// check the required parameter log_writer and log_name | ||
if (!configure_info) { | ||
this.appendToErrors("Configure information cannot be empty, please add log_writer and log_name"); | ||
console.log("ERROR! Configure information cannot be empty, please add log_writer and log_name"); | ||
this.log_writer = "LogFan"; | ||
this.log_name = "Error"; | ||
} else if (!configure_info.log_writer) { | ||
this.appendToErrors("please add log_writer"); | ||
console.log("ERROR! please add log_writer"); | ||
this.log_writer = "LogFan"; | ||
this.log_name = "Error"; | ||
} else if (!configure_info.log_writer) { | ||
this.appendToErrors("please add log_name"); | ||
console.log("ERROR! please add log_writer"); | ||
this.log_writer = "LogFan"; | ||
this.log_name = "Error"; | ||
} else{ | ||
this.log_writer = configure_info.log_writer; | ||
this.log_name = configure_info.log_name; | ||
} | ||
|
||
}; | ||
|
||
LogFan.appendToErrors = LogFan.prototype.appendToErrors = function(err){ | ||
this.log_errors.push(err); | ||
}; | ||
|
||
|
||
|
||
LogFan.createLogger = LogFan.prototype.createLogger = function(configure_info){ | ||
return new LogFan(configure_info); | ||
}; | ||
|
||
LogFan.Trace = LogFan.prototype.Trace = createNewLog('trace'); | ||
LogFan.Debug = LogFan.prototype.Debug = createNewLog('debug'); | ||
LogFan.Info = LogFan.prototype.Info = createNewLog('info'); | ||
LogFan.Warn = LogFan.prototype.Warn = createNewLog('warn'); | ||
LogFan.Error = LogFan.prototype.Error = createNewLog('error'); | ||
LogFan.Fatal = LogFan.prototype.Fatal = createNewLog('fatal'); | ||
|
||
LogFan.traceLine = LogFan.prototype.traceLine = function(type){ | ||
var err = new Error; | ||
err.name = 'Log Trace'; | ||
if (type=="email") { | ||
trace_info = err.stack.replace(/at/gi, "<br/> at"); | ||
} else{ | ||
trace_info = err.stack; | ||
} | ||
return trace_info; | ||
} | ||
|
||
|
||
module.exports = LogFan; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.