我正在尝试在DJango中配置log4javascript的ajaxAppender。我创建了一个文件frontendlog.json
,我想在前端编写日志。这就是我在myPage.html.
<script type="text/javascript" src="/static/js/log4javascript.js"></script>
<script language="javascript">
var url = '/frontEndLog/';
var log = log4javascript.getLogger("serverlog");
var ajaxAppender = new log4javascript.AjaxAppender(url);
ajaxAppender.addHeader("Content-Type", "application/json");
var jsonLayout = new log4javascript.JsonLayout();
ajaxAppender.setLayout(jsonLayout);
log.addAppender(ajaxAppender);
window.onerror = function(errorMsg, url, lineNumber){
log.fatal("Uncaught error "+errorMsg+" in "+url+", line "+lineNumber);
};
log.info("Front End Log");
alert('!!')
</script>
在我的django urls.py中,我有这个条目url(r'^frontEndLog/$', 'TryOn.views.frontEndLog'),
在我的django视图中我有这个视图功能
def frontEndLog(request):
LOGGER.info ("frontEndLog")
return render_to_response('frontEndLog.json', mimetype="text/json")
所以我希望frontEndLog在frontEndLog.json
中写在与django中的其他HTML相同的位置。但是,它告诉我XMLhttpRequest Request to URL returned status code 500
。有人可以告诉我这里我哪里出错了,这是在django中使用log4javascript的正确方法吗?
答案 0 :(得分:0)
我解决了。我在request
中打印了django views.py
对象。在那里,我能够在request.POST
中找到日志消息。它以字典的形式出现,因为它是JSON-ified
。您可以使用此
clientLogs = request.POST.get('data')
'data'
是key : value
对中的关键。 (当您看到POST对象时,您可以很容易地理解)。
是否要在views.py中打印它或将其写入txt文件取决于您。所以这一切都是在日志实际上被记录而没有我能够识别它!我想我应该更好地阅读文档。