我们有一个应用程序客户端服务器与nodejs服务器端和angularjs客户端一起工作。 我们使用requirejs来加载资源。 我们需要将日志消息发送到服务器。哪种方法最好?
服务器端我们使用log4js-node库来记录我们的应用程序(文档:https://github.com/nomiddlename/log4js-node)
客户端我们已经测试了多个库以扩展$ log角度模块,其中包括:Log4js,stacktrace,log4javascript
我们使用log4javascript库(文档:http://log4javascript.org/docs/index.html)
进行的最后一次测试在我们的代码段下面:
require.config({
baseUrl: 'app',
paths: {
//...
'log4javascript': '../vendor/log4javascript', // tip to log4javascript.js
'logging': 'modules/logging' // our logging.js angular module
},
shim: {
//...
'logging': ['log4javascript']
},
deps: ['app']
});
define(['app'], function (app) {
var myApp = angular.module('logging', []);
myApp.factory('$log', function () {
var logger = log4javascript.getLogger('logging');
var ajaxAppender = new log4javascript.AjaxAppender('http://myserver.com/api/log');
logger.addAppender(ajaxAppender);
return logger;
});
});
require([...,"log4javascript"], function (...,log4javascript) {
window.log4javascript = log4javascript;
// ...
});
我们将AjaxAppender用于从客户端检索消息的API,并通过log4js-node库对其进行格式化。
你怎么看?你能否建议我们更好地实现目标?