Start working on event log

This commit is contained in:
calzoneman 2014-01-27 18:37:48 -06:00
parent 447a70be98
commit 5f3fa8922d
5 changed files with 39 additions and 18 deletions

View File

@ -52,13 +52,21 @@ Logger.prototype.close = function () {
}
}
var errlog = new Logger(path.join(__dirname, "../error.log"));
var syslog = new Logger(path.join(__dirname, "../sys.log"));
errlog.actualLog = errlog.log;
errlog.log = function(what) { console.log(what); this.actualLog(what); }
syslog.actualLog = syslog.log;
syslog.log = function(what) { console.log(what); this.actualLog(what); }
function makeConsoleLogger(filename) {
var log = new Logger(filename);
log._log = log.log;
log.log = function () {
console.log.apply(console, arguments);
this._log.apply(this, arguments);
}
return log;
}
var errlog = makeConsoleLogger(path.join(__dirname, "..", "error.log"));
var syslog = makeConsoleLogger(path.join(__dirname, "..", "sys.log"));
var eventlog = makeConsoleLogger(path.join(__dirname, "..", "events.log"));
exports.Logger = Logger;
exports.errlog = errlog;
exports.syslog = syslog;
exports.eventlog = syslog;

View File

@ -43,7 +43,6 @@ var Logger = require("./logger");
var Channel = require("./channel");
var User = require("./user");
var $util = require("./utilities");
var ActionLog = require("./actionlog");
var Server = function () {
var self = this;

View File

@ -99,7 +99,8 @@ function handleChangePassword(req, res) {
});
return;
}
Logger.eventlog(webserver.ipForRequest(req) + " changed password for " + name);
Logger.eventlog.log("[account] " + webserver.ipForRequest(req) +
" changed password for " + name);
sendJade(res, "account-edit", {
loggedIn: loginName !== false,
loginName: loginName,
@ -128,7 +129,7 @@ function handleChangeEmail(req, res) {
return;
}
if (!$util.isValidEmail(email)) {
if (!$util.isValidEmail(email) && email !== "") {
sendJade(res, "account-edit", {
loggedIn: loginName !== false,
loginName: loginName,
@ -156,8 +157,8 @@ function handleChangeEmail(req, res) {
});
return;
}
// TODO event log
Logger.syslog.log(webserver.ipForRequest(req) + " changed email for " + name +
Logger.eventlog.log("[account] " + webserver.ipForRequest(req) +
" changed email for " + name +
" to " + email);
sendJade(res, "account-edit", {
loggedIn: loginName !== false,
@ -250,6 +251,11 @@ function handleNewChannel(req, res) {
}
db.channels.register(name, user.name, function (err, channel) {
if (!err) {
Logger.eventlog.log("[channel] " + user.name + "@" +
webserver.ipForRequest(req) + " registered channel " +
name);
}
db.channels.listUserChannels(loginName, function (err2, channels) {
sendJade(res, "account-channels", {
loggedIn: true,
@ -317,6 +323,11 @@ function handleDeleteChannel(req, res) {
return;
}
db.channels.drop(name, function (err) {
if (!err) {
Logger.eventlog.log("[channel] " + loginName + "@" +
webserver.ipForRequest(req) + " deleted channel " +
name);
}
db.channels.listUserChannels(loginName, function (err2, channels) {
sendJade(res, "account-channels", {
loggedIn: true,
@ -518,6 +529,9 @@ function handlePasswordReset(req, res) {
return;
}
Logger.eventlog.log("[account] " + ip + " requested password recovery for " +
name + " <" + email + ">");
if (!Config.get("mail.enabled")) {
sendJade(res, "account-passwordreset", {
reset: false,

View File

@ -30,7 +30,7 @@ function handleLogin(req, res) {
db.users.verifyLogin(name, password, function (err, user) {
if (err) {
if (err === "Invalid username/password combination") {
Logger.syslog.log("Login failed (bad password): " + name
Logger.eventlog.log("[loginfail] Login failed (bad password): " + name
+ "@" + webserver.ipForRequest(req));
}
sendJade(res, "login", {
@ -190,7 +190,7 @@ function handleRegister(req, res) {
registerError: err
});
} else {
Logger.syslog.log(ip + " registered account: " + name +
Logger.eventlog.log("[register] " + ip + " registered account: " + name +
(email.length > 0 ? " <" + email + ">" : ""));
sendJade(res, "register", {
registered: true,

View File

@ -2,7 +2,7 @@
"author": "Calvin Montgomery",
"name": "CyTube",
"description": "Online media synchronizer and chat",
"version": "2.4.5",
"version": "3.0.0-alpha",
"repository": {
"url": "http://github.com/calzoneman/sync"
},