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")); function makeConsoleLogger(filename) {
var syslog = new Logger(path.join(__dirname, "../sys.log")); var log = new Logger(filename);
errlog.actualLog = errlog.log; log._log = log.log;
errlog.log = function(what) { console.log(what); this.actualLog(what); } log.log = function () {
syslog.actualLog = syslog.log; console.log.apply(console, arguments);
syslog.log = function(what) { console.log(what); this.actualLog(what); } 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.Logger = Logger;
exports.errlog = errlog; exports.errlog = errlog;
exports.syslog = syslog; exports.syslog = syslog;
exports.eventlog = syslog;

View File

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

View File

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

View File

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

View File

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