mirror of
https://we.phorge.it/source/phorge.git
synced 2024-12-21 04:50:55 +01:00
0d070c91dc
Summary: Yeahhhhhhhh.... - Open a "stream", not a "steam". - Make error easier for users to understand. - Write to the log in debug mode so the issue is more apparent. Test Plan: - Started server with bad permissions, got usable error message. - Started server with good permissions, got logfile. Reviewers: joshuaspence, btrahan Reviewed By: btrahan Subscribers: Korvin, epriestley Differential Revision: https://secure.phabricator.com/D11339
52 lines
1 KiB
JavaScript
52 lines
1 KiB
JavaScript
var JX = require('javelin').JX;
|
|
|
|
var fs = require('fs');
|
|
var util = require('util');
|
|
|
|
JX.install('AphlictLog', {
|
|
construct: function() {
|
|
this._writeToLogs = [];
|
|
this._writeToConsoles = [];
|
|
},
|
|
|
|
members: {
|
|
_writeToConsoles: null,
|
|
_writeToLogs: null,
|
|
|
|
addLogfile: function(path) {
|
|
var options = {
|
|
flags: 'a',
|
|
encoding: 'utf8',
|
|
mode: 066
|
|
};
|
|
|
|
var logfile = fs.createWriteStream(path, options);
|
|
|
|
this._writeToLogs.push(logfile);
|
|
|
|
return this;
|
|
},
|
|
|
|
addConsole: function(console) {
|
|
this._writeToConsoles.push(console);
|
|
return this;
|
|
},
|
|
|
|
log: function() {
|
|
var str = util.format.apply(null, arguments);
|
|
var date = new Date().toLocaleString();
|
|
str = '[' + date + '] ' + str;
|
|
|
|
var ii;
|
|
for (ii = 0; ii < this._writeToConsoles.length; ii++) {
|
|
this._writeToConsoles[ii].log(str);
|
|
}
|
|
|
|
for (ii = 0; ii < this._writeToLogs.length; ii++) {
|
|
this._writeToLogs[ii].write(str + '\n');
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
});
|