@dagonmetric/ng-log-applicationinsights
TypeScript icon, indicating that this package has built-in type declarations

2.5.2 • Public • Published

Angular Application Insights Integration for NG-LOG

GitHub Actions Status Azure Pipelines Status codecov npm version Gitter

Microsoft Azure Application Insights integration of DagonMetric/ng-log for Angular applications.

Getting Started

Installation

npm

npm install @dagonmetric/ng-log @dagonmetric/ng-log-applicationinsights

or yarn

yarn add @dagonmetric/ng-log @dagonmetric/ng-log-applicationinsights

Module Setup (app.module.ts)

import { LogModule } from '@dagonmetric/ng-log';
import { ApplicationInsightsLoggerModule } from '@dagonmetric/ng-log-applicationinsights';

@NgModule({
  imports: [
    // Other module imports

    // ng-log modules
    LogModule,
    ApplicationInsightsLoggerModule.configure({
      config: {
        instrumentationKey: 'YOUR_INSTRUMENTATION_KEY_GOES_HERE'
        /* ...Other Configuration Options... */
      }
    })
  ]
})
export class AppModule { }

Live edit app.module.ts in stackblitz

Usage (app.component.ts)

import { Component, OnInit } from '@angular/core';

import { LogService } from '@dagonmetric/ng-log';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html'
})
export class AppComponent implements OnInit {
  constructor(private readonly logService: LogService) { }

  ngOnInit(): void {
    // Track traces
    this.logService.trace('Testing trace');
    this.logService.debug('Testing debug');
    this.logService.info('Testing info');
    this.logService.warn('Testing warn');

    // Track exceptions
    this.logService.error(new Error('Testing error'));
    this.logService.fatal(new Error('Testing critical'));

    // Track page view
    this.logService.trackPageView({
      name: 'My Angular App',
      uri: '/home'
    });

    // Track page view with timing
    this.logService.startTrackPage('about');
    this.logService.stopTrackPage('about', { uri: '/about' });

    // Track custom event
    this.logService.trackEvent({
      name: 'video_auto_play_start',
      properties: {
        non_interaction: true
      }
    });

    // Track custom event with metrics
    this.logService.trackEvent({
      name: 'foo',
      measurements: {
        non_interaction: 1
      },
      properties: {
        age: 12
      }
    });

    // Track custom event with timing
    this.logService.startTrackEvent('video_auto_play');
    this.logService.stopTrackEvent('video_auto_play', {
      properties: {
        non_interaction: true
      }
    });

    // Set user properties
    this.logService.setUserProperties('<Authenticated User Id>', '<Account Id>');

    // Clear user properties
    this.logService.clearUserProperties();
  }
}

Live edit app.component.ts in stackblitz

Samples

Related Projects

  • ng-log - Vendor-agnostic logging, analytics and telemetry service abstractions and some implementations for Angular applications
  • ng-log-gtag - Angular Google Analytics (gtag.js) logger implementation for ng-log
  • ng-log-firebase-analytics - Firebase Analytics implementation for ng-log
  • ng-log-facebook-analytics - Facebook Pixel Analytics implementation for ng-log

Feedback and Contributing

Check out the Contributing page.

License

This repository is licensed with the MIT license.

Package Sidebar

Install

npm i @dagonmetric/ng-log-applicationinsights

Weekly Downloads

8

Version

2.5.2

License

MIT

Unpacked Size

175 kB

Total Files

25

Last publish

Collaborators

  • mmzliveid
  • dagonmetric-contributor