An open API service indexing awesome lists of open source software.

https://github.com/ngworker/lumberjack-applicationinsights-driver

Lumberjack driver to work with Azure Application Insights
https://github.com/ngworker/lumberjack-applicationinsights-driver

Last synced: over 1 year ago
JSON representation

Lumberjack driver to work with Azure Application Insights

Awesome Lists containing this project

README

          

# @ngworker/lumberjack-applicationinsights-driver



[Logo by Felipe Zambrano](http://instagram.com/octopez)


[![MIT](https://img.shields.io/packagist/l/doctrine/orm.svg?style=flat-square)]()
[![commitizen](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg?style=flat-square)]()
[![PRs](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)]()
[![styled with prettier](https://img.shields.io/badge/styled_with-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier)
[![All Contributors](https://img.shields.io/badge/all_contributors-2-orange.svg?style=flat-square)](#contributors-)
[![ngworker](https://img.shields.io/badge/ngworker-%40-red)](https://github.com/ngworker/)
[![Wallaby.js](https://img.shields.io/badge/wallaby.js-powered-blue.svg?style=flat&logo=github)](https://wallabyjs.com/oss/)

Lumberjack Applicationinsights Driver is a custom log driver for [ngworker/lumberjack](https://github.com/ngworker/lumberjack). It is used to send logs over [Azure Application Insights](https://azure.microsoft.com/en-us/) protocol.

## Features

- ✅ Logs to Azure Application Insights log store
- ✅ Unit test coverage
- ✅ Prints your DEBUG, WARNING and CRITICAL logs to console
- ✅ Follows Lumberjack Best Practices guide

## Table of Contents

- [Installation](#installation)
- [Compatibility](#compatibility)
- [Usage](#usage)
- [Wallaby.js](#wallaby.js)
- [Contributors](#contributors)

## Installation

LumberjackApplicationinsightsDriver is published as the `@ngworker/lumberjack-applicationinsights-driver` package.

| Toolchain | Command |
| ----------- | ------------------------------------------------------------- |
| Angular CLI | `ng add @ngworker/lumberjack-applicationinsights-driver` |
| NPM CLI | `npm install @ngworker/lumberjack-applicationinsights-driver` |
| Yarn CLI | `yarn add @ngworker/lumberjack-applicationinsights-driver` |

## Compatibility

`LumberjackApplicationinsightsDriver` has verified compatibility with the following packages versions.

| LumberjackApplicationinsightsDriver | Lumberjack | @microsoft/applicationinsights-web |
| ----------------------------------- | -------------- | ---------------------------------- |
| 1.0.x | ^2.0.0 | ^2.5.11 |

If the version you are using is not listed, please [raise an issue in our GitHub repository](https://github.com/ngworker/lumberjack-applicationinsights-driver/issues/new).

## Usage

To start using LumberjackApplicationinsightsDriver, import it in your root or core Angular module along with Lumberjack.

```ts
import { NgModule } from '@angular/core';
import { LumberjackLevel, LumberjackModule } from '@ngworker/lumberjack';
import { LumberjackApplicationinsightsDriver } from '@ngworker/lumberjack-applicationinsights-driver';

@NgModule({
imports: [
LumberjackModule.forRoot({
levels: [LumberjackLevel.Verbose],
}),
LumberjackApplicationinsightsDriver.forRoot({
levels: [LumberjackLevel.Critical, LumberjackLevel.Error],
instrumentationKey: environment.appInsights.instrumentationKey,
loggingLevelConsole: 3,
}),
// (...)
],
// (...)
})
export class AppModule {}
```

Now you can start using the `LumberjackService` or extend `LumberjackLogger` and they will automatically use the `LumberjackApplicationinsightsDriver`.

## Configuration

To use the Application Insights you must provide or `instrumentationKey`, or `connectionString` in the configuration object provided in `forRoot`. Additionally you can specify `loggingLevelConsole`.

| Setting | Description
|----------------------|----------------
| `instrumentationKey` | Instrumentation key of resource. Either this or connectionString must be specified.
| `connectionString` | Connection string of resource. Either this or instrumentationKey must be specified.
| `loggingLevelConsole` | Console logging level. All logs with a severity level higher than the configured level will be printed to console. Otherwise they are suppressed. Level 3 will print DEBUG, WARNING and CRITICAL logs to console, level 2 will print both CRITICAL and WARNING logs to console, level 1 prints only CRITICAL.

## Wallaby.js

[![Wallaby.js](https://img.shields.io/badge/wallaby.js-powered-blue.svg?style=for-the-badge&logo=github)](https://wallabyjs.com/oss/)

Contributors to this repository are welcome to use the
[Wallaby.js OSS License](https://wallabyjs.com/oss/) to get
test results immediately as you type, and see the results in
your editor right next to your code.

## Contributors

Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):

This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!