Skip to content
This repository has been archived by the owner on Jun 2, 2024. It is now read-only.

Commit

Permalink
use mini-logger and error-formater
Browse files Browse the repository at this point in the history
  • Loading branch information
dead-horse committed Jul 9, 2014
1 parent 4c96682 commit b5929c9
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 67 deletions.
82 changes: 19 additions & 63 deletions common/logger.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,73 +15,29 @@
* Module dependencies.
*/

var util = require('util');
var moment = require('moment');
var logstream = require('logfilestream');
var ms = require('ms');
var formater = require('error-formater');
var Logger = require('mini-logger');
var config = require('../config');
var mail = require('./mail');

var isTEST = process.env.NODE_ENV === 'test';
var ONE_DAY = ms('1d');
var levels = ['info', 'warn', 'error'];

levels.forEach(function (catetory) {
var options = {
logdir: config.logdir,
duration: ONE_DAY,
nameformat: '[' + catetory + '.]YYYY-MM-DD[.log]'
};
var stream = logstream(options);
function write(msg) {
var time = moment().format('YYYY-MM-DD HH:mm:ss.SSS');
var subject = null;
if (msg instanceof Error) {
subject = msg.name;
var err = {
name: msg.name,
code: msg.code,
message: msg.message,
stack: msg.stack,
host: msg.host,
url: msg.url,
data: msg.data
};
if (err.name === 'Error' && typeof err.code === 'string') {
err.name = err.code + err.name;
}
err.name += 'Exception';
if (err.host) {
err.message += ' (' + err.host + ')';
}
msg = util.format('%s nodejs.%s: %s\nURL: %s\nData: %j\n%s\n\n',
time,
err.name,
err.stack,
err.url,
err.data,
time
);
} else {
msg = time + ' ' + util.format.apply(util, arguments) + '\n';
}

if (!isTEST) {
stream.write(msg);
if (config.debug) {
var level = catetory;
console.log('[' + level + '] ' + msg);
} else {
if (catetory === 'error' && subject) {
// send error email
var to = [];
for (var name in config.admins) {
to.push(config.admins[name]);
}
mail.error(to, subject, msg);
}
}
}
}
exports[catetory] = write;
module.exports = Logger({
dir: config.logdir,
duration: '1d',
format: '[{category}.]YYYY-MM-DD[.log]',
stdout: config.debug && !isTEST,
errorFormater: errorFormater

This comment has been minimized.

Copy link
@fengmk2

fengmk2 Jul 11, 2014

Member

呃, 竟然忘记设置 categoies 了.... #370

This comment has been minimized.

Copy link
@fengmk2

fengmk2 Jul 11, 2014

Member

fix on d2d238d

});

var to = [];
for (var name in config.admins) {
to.push(config.admins[name]);
}

function errorFormater(err) {
var msg = formater.both(err);
mail.error(to, msg.json.name, msg.text);
return msg.text;
}
9 changes: 5 additions & 4 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
"co-write": "0.3.0",
"copy-to": "1.0.1",
"debug": "1.0.2",
"error-formater": "1.0.2",
"eventproxy": "0.3.1",
"giturl": "0.0.3",
"graceful": "0.1.0",
Expand All @@ -29,10 +30,10 @@
"koa": "0.8.1",
"koa-limit": "1.0.2",
"koa-markdown": "0.0.3",
"koa-middlewares": "1.0.0",
"logfilestream": "0.1.0",
"koa-middlewares": "1.1.0",
"marked": "0.3.2",
"mime": "1.2.11",
"mini-logger": "0.1.0",
"mkdirp": "0.5.0",
"moment": "2.7.0",
"ms": "0.6.2",
Expand All @@ -44,7 +45,7 @@
"redis": "0.10.3",
"semver": "2.3.1",
"thunkify-wrap": "0.1.2",
"utility": "0.1.14"
"utility": "0.1.16"
},
"devDependencies": {
"autod": "~0.2.0",
Expand All @@ -56,7 +57,7 @@
"jshint": "*",
"mm": "0.2.1",
"mocha": "*",
"pedding": "0.0.3",
"pedding": "1.0.0",
"should": "4.0.4",
"should-http": "0.0.1",
"supertest": "0.13.0"
Expand Down

1 comment on commit b5929c9

@fengmk2
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.