mirror of
https://github.com/azures04/crafatar.git
synced 2026-03-22 07:51:17 +01:00
log errors only once, fixes #140
also made sure some (network) errors have level 'WARN' these are printed without stacktrace
This commit is contained in:
parent
b97087c099
commit
26f6b089ef
@ -44,12 +44,10 @@ function store_skin(rid, userId, profile, cache_details, callback) {
|
|||||||
} else {
|
} else {
|
||||||
skins.save_image(img, skinpath, function(skin_err) {
|
skins.save_image(img, skinpath, function(skin_err) {
|
||||||
if (skin_err) {
|
if (skin_err) {
|
||||||
logging.error(rid, skin_err);
|
|
||||||
callback(skin_err, null);
|
callback(skin_err, null);
|
||||||
} else {
|
} else {
|
||||||
skins.extract_face(img, facepath, function(err2) {
|
skins.extract_face(img, facepath, function(err2) {
|
||||||
if (err2) {
|
if (err2) {
|
||||||
logging.error(rid, err2.stack);
|
|
||||||
callback(err2, null);
|
callback(err2, null);
|
||||||
} else {
|
} else {
|
||||||
logging.debug(rid, "face extracted");
|
logging.debug(rid, "face extracted");
|
||||||
@ -95,7 +93,6 @@ function store_cape(rid, userId, profile, cache_details, callback) {
|
|||||||
} else {
|
} else {
|
||||||
networking.get_from(rid, url, function(img, response, net_err) {
|
networking.get_from(rid, url, function(img, response, net_err) {
|
||||||
if (net_err || !img) {
|
if (net_err || !img) {
|
||||||
logging.error(rid, net_err.stack);
|
|
||||||
callback(net_err, null);
|
callback(net_err, null);
|
||||||
} else {
|
} else {
|
||||||
skins.save_image(img, capepath, function(skin_err) {
|
skins.save_image(img, capepath, function(skin_err) {
|
||||||
@ -342,10 +339,7 @@ exp.get_render = function(rid, userId, scale, helm, body, callback) {
|
|||||||
callback(null, 0, skin_hash, null);
|
callback(null, 0, skin_hash, null);
|
||||||
} else {
|
} else {
|
||||||
fs.writeFile(renderpath, drawn_img, "binary", function(fs_err) {
|
fs.writeFile(renderpath, drawn_img, "binary", function(fs_err) {
|
||||||
if (fs_err) {
|
callback(fs_err, 2, skin_hash, drawn_img);
|
||||||
logging.error(rid, fs_err.stack);
|
|
||||||
}
|
|
||||||
callback(null, 2, skin_hash, drawn_img);
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@ -73,12 +73,9 @@ exp.get_from_options = function(rid, url, options, callback) {
|
|||||||
}, function(error, response, body) {
|
}, function(error, response, body) {
|
||||||
// log url + code + description
|
// log url + code + description
|
||||||
var code = response && response.statusCode;
|
var code = response && response.statusCode;
|
||||||
if (error) {
|
|
||||||
logging.error(rid, url, error);
|
|
||||||
} else {
|
|
||||||
var logfunc = code && code < 405 ? logging.debug : logging.warn;
|
var logfunc = code && code < 405 ? logging.debug : logging.warn;
|
||||||
logfunc(rid, url, code, http_code[code]);
|
logfunc(rid, url, code, http_code[code]);
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
switch (code) {
|
switch (code) {
|
||||||
@ -201,7 +198,6 @@ exp.save_texture = function(rid, tex_hash, outpath, callback) {
|
|||||||
var textureurl = textures_url + tex_hash;
|
var textureurl = textures_url + tex_hash;
|
||||||
exp.get_from(rid, textureurl, function(img, response, err) {
|
exp.get_from(rid, textureurl, function(img, response, err) {
|
||||||
if (err) {
|
if (err) {
|
||||||
logging.error(rid, "error while downloading texture");
|
|
||||||
callback(err, response, null);
|
callback(err, response, null);
|
||||||
} else {
|
} else {
|
||||||
skins.save_image(img, outpath, function(img_err) {
|
skins.save_image(img, outpath, function(img_err) {
|
||||||
|
|||||||
@ -161,7 +161,6 @@ exp.draw_model = function(rid, img, scale, helm, body, callback) {
|
|||||||
var image = new Image();
|
var image = new Image();
|
||||||
|
|
||||||
image.onerror = function(err) {
|
image.onerror = function(err) {
|
||||||
logging.error(rid, "render error:", err.stack);
|
|
||||||
callback(err, null);
|
callback(err, null);
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -189,9 +188,6 @@ exp.draw_model = function(rid, img, scale, helm, body, callback) {
|
|||||||
enhance(model_ctx);
|
enhance(model_ctx);
|
||||||
|
|
||||||
model_canvas.toBuffer(function(err, buf) {
|
model_canvas.toBuffer(function(err, buf) {
|
||||||
if (err) {
|
|
||||||
logging.error(rid, "error creating buffer:", err);
|
|
||||||
}
|
|
||||||
callback(err, buf);
|
callback(err, buf);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
@ -203,9 +199,6 @@ exp.draw_model = function(rid, img, scale, helm, body, callback) {
|
|||||||
// callback: error, image buffer
|
// callback: error, image buffer
|
||||||
exp.open_render = function(rid, renderpath, callback) {
|
exp.open_render = function(rid, renderpath, callback) {
|
||||||
fs.readFile(renderpath, function(err, buf) {
|
fs.readFile(renderpath, function(err, buf) {
|
||||||
if (err) {
|
|
||||||
logging.error(rid, "error while opening skin file:", err);
|
|
||||||
}
|
|
||||||
callback(err, buf);
|
callback(err, buf);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|||||||
@ -12,6 +12,9 @@ var human_status = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// print these, but without stacktrace
|
||||||
|
var silent_errors = ["ETIMEDOUT", "ESOCKETTIMEDOUT", "ECONNRESET", "EHOSTUNREACH", "ECONNREFUSED"];
|
||||||
|
|
||||||
// handles HTTP responses
|
// handles HTTP responses
|
||||||
// +request+ a http.IncomingMessage
|
// +request+ a http.IncomingMessage
|
||||||
// +response+ a http.ServerResponse
|
// +response+ a http.ServerResponse
|
||||||
@ -23,7 +26,6 @@ var human_status = {
|
|||||||
// * hash: image hash, required when body is an image
|
// * hash: image hash, required when body is an image
|
||||||
// * err: a possible Error
|
// * err: a possible Error
|
||||||
module.exports = function(request, response, result) {
|
module.exports = function(request, response, result) {
|
||||||
|
|
||||||
response.on("close", function() {
|
response.on("close", function() {
|
||||||
logging.warn(request.id, "Connection closed");
|
logging.warn(request.id, "Connection closed");
|
||||||
});
|
});
|
||||||
@ -38,7 +40,7 @@ module.exports = function(request, response, result) {
|
|||||||
|
|
||||||
// These headers are the same for every response
|
// These headers are the same for every response
|
||||||
var headers = {
|
var headers = {
|
||||||
"Content-Type": (result.body && result.type) || "text/plain",
|
"Content-Type": result.body && result.type || "text/plain",
|
||||||
"Cache-Control": "max-age=" + config.caching.browser + ", public",
|
"Cache-Control": "max-age=" + config.caching.browser + ", public",
|
||||||
"Response-Time": Date.now() - request.start,
|
"Response-Time": Date.now() - request.start,
|
||||||
"X-Request-ID": request.id,
|
"X-Request-ID": request.id,
|
||||||
@ -46,8 +48,14 @@ module.exports = function(request, response, result) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
if (result.err) {
|
if (result.err) {
|
||||||
logging.error(request.id, result.err);
|
var silent = silent_errors.indexOf(result.err.code) !== -1;
|
||||||
|
if (result.err.stack && !silent) {
|
||||||
logging.error(request.id, result.err.stack);
|
logging.error(request.id, result.err.stack);
|
||||||
|
} else if (silent) {
|
||||||
|
logging.warn(request.id, result.err);
|
||||||
|
} else {
|
||||||
|
logging.error(request.id, result.err);
|
||||||
|
}
|
||||||
result.status = -1;
|
result.status = -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,3 @@
|
|||||||
var logging = require("../logging");
|
|
||||||
var helpers = require("../helpers");
|
var helpers = require("../helpers");
|
||||||
var config = require("../../config");
|
var config = require("../../config");
|
||||||
var skins = require("../skins");
|
var skins = require("../skins");
|
||||||
@ -82,7 +81,6 @@ module.exports = function(req, callback) {
|
|||||||
try {
|
try {
|
||||||
helpers.get_avatar(req.id, userId, helm, size, function(err, status, image, hash) {
|
helpers.get_avatar(req.id, userId, helm, size, function(err, status, image, hash) {
|
||||||
if (err) {
|
if (err) {
|
||||||
logging.error(req.id, err);
|
|
||||||
if (err.code === "ENOENT") {
|
if (err.code === "ENOENT") {
|
||||||
// no such file
|
// no such file
|
||||||
cache.remove_hash(req.id, userId);
|
cache.remove_hash(req.id, userId);
|
||||||
@ -101,7 +99,6 @@ module.exports = function(req, callback) {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
logging.error(req.id, "error:", e.stack);
|
|
||||||
handle_default(-1, userId, size, def, req, e, callback);
|
handle_default(-1, userId, size, def, req, e, callback);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -32,7 +32,6 @@ module.exports = function(req, callback) {
|
|||||||
try {
|
try {
|
||||||
helpers.get_cape(rid, userId, function(err, hash, status, image) {
|
helpers.get_cape(rid, userId, function(err, hash, status, image) {
|
||||||
if (err) {
|
if (err) {
|
||||||
logging.error(rid, err);
|
|
||||||
if (err.code === "ENOENT") {
|
if (err.code === "ENOENT") {
|
||||||
// no such file
|
// no such file
|
||||||
cache.remove_hash(rid, userId);
|
cache.remove_hash(rid, userId);
|
||||||
|
|||||||
@ -98,7 +98,6 @@ module.exports = function(req, callback) {
|
|||||||
try {
|
try {
|
||||||
helpers.get_render(rid, userId, scale, helm, body, function(err, status, hash, image) {
|
helpers.get_render(rid, userId, scale, helm, body, function(err, status, hash, image) {
|
||||||
if (err) {
|
if (err) {
|
||||||
logging.error(rid, err);
|
|
||||||
if (err.code === "ENOENT") {
|
if (err.code === "ENOENT") {
|
||||||
// no such file
|
// no such file
|
||||||
cache.remove_hash(rid, userId);
|
cache.remove_hash(rid, userId);
|
||||||
@ -118,7 +117,6 @@ module.exports = function(req, callback) {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
} catch(e) {
|
} catch(e) {
|
||||||
logging.error(rid, "error:", e.stack);
|
|
||||||
handle_default(rid, scale, helm, body, -1, userId, scale, def, req, e, callback);
|
handle_default(rid, scale, helm, body, -1, userId, scale, def, req, e, callback);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -81,7 +81,6 @@ module.exports = function(req, callback) {
|
|||||||
try {
|
try {
|
||||||
helpers.get_skin(rid, userId, function(err, hash, status, image) {
|
helpers.get_skin(rid, userId, function(err, hash, status, image) {
|
||||||
if (err) {
|
if (err) {
|
||||||
logging.error(req.id, err);
|
|
||||||
if (err.code === "ENOENT") {
|
if (err.code === "ENOENT") {
|
||||||
// no such file
|
// no such file
|
||||||
cache.remove_hash(req.id, userId);
|
cache.remove_hash(req.id, userId);
|
||||||
@ -100,7 +99,6 @@ module.exports = function(req, callback) {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
} catch(e) {
|
} catch(e) {
|
||||||
logging.error(rid, "error:", e.stack);
|
|
||||||
handle_default(-1, userId, def, req, e, callback);
|
handle_default(-1, userId, def, req, e, callback);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -126,7 +126,6 @@ exp.default_skin = function(uuid) {
|
|||||||
exp.open_skin = function(rid, skinpath, callback) {
|
exp.open_skin = function(rid, skinpath, callback) {
|
||||||
fs.readFile(skinpath, function(err, buf) {
|
fs.readFile(skinpath, function(err, buf) {
|
||||||
if (err) {
|
if (err) {
|
||||||
logging.error(rid, "error while opening skin file:", err);
|
|
||||||
callback(err, null);
|
callback(err, null);
|
||||||
} else {
|
} else {
|
||||||
callback(null, buf);
|
callback(null, buf);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user