angularjs - Angular Analytics Splunk日志记录

标签 angularjs logging google-analytics splunk web-statistics

我为我的公司开发了一个有角度的页面。我要跟踪其使用情况统计信息。只是非常基本的信息,例如点击数。我正在尝试使用here找到的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中的脚本进行调整,但是我在那里遇到了问题。我的合作方式有splunk日志记录设置是这样的:
开发人员可以在Java应用程序中执行他们想要的任何类型的日志记录。所有日志记录都转到catalina.out。应用程序已部署到各种远程服务器(Dev,QA,Prod)。开发人员可以在公司域上托管的企业splunk中运行搜索查询,以在特定的框(dev框)中搜索特定的日志文件(tomcat.logcatalina.out等)。

在这种情况下,我如何将角度应用日志记录到文件中(因为splunk可以查询任何日志文件,所以不必为catalina.out obv),从而使splunk能够从其部署箱中将其提取出来?

如果不可能,我是否需要在sp.load行中放置一些splunk端点,以便角度页面将其统计信息直接发送给splunk?

最佳答案

您在这里有两个选择。

如果要登录到公司使用的Java应用程序之类的文件,则需要创建一个后端服务,Angular应用程序可以将数据发送到该后端服务。然后,该后端服务可以写入文件。

如果您运行的是Splunk 6.3或更高版本,则可以使用HTTP Event Collector通过HTTP发送事件,从而获得更好的性能。您可以将我们的Splunk logging for JavaScript库与browserify结合使用,有关更多详细信息,请参见此GitHub issue

关于angularjs - Angular Analytics Splunk日志记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37119168/

相关文章:

google-analytics - Google Analytics-地理

javascript - 如何在 AngularJS 中外部配置工厂

jsf - 所有级别的日志中每个用户/ session 都有唯一的 ID? Log4J?

javascript - 复制数组的元素并推送它会导致 "Duplicates in a repeater are not allowed."错误 - Angular

java - 无法阻止 Wildfly 创建日志文件

android - 使用 Xamarin.Forms 和 Serilog 将日志写入文件

google-analytics - 谷歌分析嵌入 API 演示根本没有显示

reactjs - FCM 网络推送通知 Google Analytics

javascript - 在 Angular 中更改页面时,如何修复 yyyy 不是一个函数?

javascript - 在 Angular Controller 中监听文档事件