我为我的公司开发了一个有角度的页面,我想跟踪它的使用统计信息。只是一些非常基本的信息,比如点击次数。我正在尝试使用这里的angulartics插件。到目前为止,这是我从git-examples文件夹复制的角度页面中的内容:
HTML:
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Topic Tester</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="static/js/angular.min.js"></script>
<script src="static/js/angulartics.min.js"></script>
<script src="static/js/angulartics-splunk.min.js"></script>
<script src="static/js/controller.js"></script>
<script type="text/javascript">
var sp=sp||[];
(function(){var e=["init","identify","track","trackLink","pageview"], t=function(e){return function(){sp.push([e].concat(Array.prototype.slice.call(arguments,0)))}};
for(var n=0;n<e.length;n++)sp[e[n]]=t(e[n])})(), sp.load=function(e,o){sp._endpoint=e;
if(o){sp.init(o)};
var t=document.createElement("script");
t.type="text/javascript",t.async=!0,t.src=("https:"===document.location.protocol?"https://":"http://")+"d21ey8j28ejz92.cloudfront.net/analytics/v1/sp.min.js";
var n=document.getElementsByTagName("script")[0];n.parentNode.insertBefore(t,n)};
sp.load("http://localhost:9000/api/log");
</script>
</head>
JS-
var app = angular.module('myApp',['angulartics',
'angulartics.splunk']);
当然,由于端点的原因,html中的脚本需要调整,但我有一个问题。我的公司挥霍日志设置的方式是:开发人员在java应用程序中执行他们想要的任何类型的日志记录。所有日志记录都转到catalina.out
。应用程序被部署到各种远程服务器(开发、QA、生产)。开发人员可以在公司域上托管的企业splink中运行搜索查询,以便在特定的框(dev框)中搜索特定的日志文件(tomcat.log
、catalina.out
等)。
在这种情况下,我如何将angular应用程序记录到一个文件中(不必是catalina.out
obv,因为splink可以查询任何日志文件),从而splink能够从其部署框中提取它?
如果这不可能,我是否需要在sp.load
行中放置一些splink端点,从而使角度页面将其统计数据直接发送给splink?
这里有几个选项。
如果你想登录到像你公司使用的Java应用程序一样的文件,你需要创建一个后端服务,你的Angular应用程序可以将数据发送到该服务。然后该后端服务可以写入文件。
如果您运行的是Splunk 6.3或更新版本,则可以使用HTTP事件收集器通过HTTP发送性能更好的事件。您可以将我们的Splunk日志记录JavaScript库与browserfy一起使用,有关更多详细信息,请参阅本期GitHub。
我一直在做一个更插件&播放基于Angular loggly记录器的Angular(1.5)解决方案,该解决方案可能更易于使用:https://github.com/mer10z/angular-splunk-logger
它使用$http发布到Splunk http事件收集器,因此您不需要浏览或任何其他外部依赖项。