我正在尝试配置ajaxAppender of log4javascript in DJango。我已经创建了一个文件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与其他HTML在django中找到的位置相同,是用frontEndLog.json编写的。然而,它告诉我XMLhttpRequest Request to URL returned status code 500。有人能告诉我我哪里出了问题吗?这是在django中使用log4javascript的正确方式吗?
发布于 2015-04-09 06:00:20
我解决了。我在request中打印了django对象。在那里,我能够在request.POST中找到日志消息。因为它是JSON-ified,所以它以字典的形式出现。您可以使用以下内容访问日志
clientLogs = request.POST.get('data')'data'是这里key : value对的关键。(当您看到POST对象时,可以很容易地理解这一点)。
您是要在views.py本身中打印它还是将它写入txt文件取决于您。所以,所有这一切,而日志实际上是被记录在没有我能够识别它!我想我应该更好地阅读文档。
https://stackoverflow.com/questions/29492259
复制相似问题