# infobot-yc-logging-api

> Library for integration with Yandex Cloud Logging

Latest version **1.1.0** (published 2021-12-10) · Apache-2.0 license · 0 weekly downloads

## Install

```sh
npm install infobot-yc-logging-api
pnpm add infobot-yc-logging-api
yarn add infobot-yc-logging-api
bun add infobot-yc-logging-api
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.1.0 |
| Published | 2021-12-10 |
| First published | 2021-09-15 |
| Weekly downloads | 0 |
| License | Apache-2.0 |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 5 |
| Unpacked size | 1.8 MB |
| Known vulnerabilities | 0 (+4 in 2 direct dependencies) |
| Install scripts | no |
| GitHub stars | 1 |
| Author | INFOBOT LLC |
| Maintainers | infobot |

## Links

- npm: https://www.npmjs.com/package/infobot-yc-logging-api
- Repository: https://github.com/infobot-pro/infobot-yc-logging-api
- Homepage: https://github.com/infobot-pro/infobot-yc-logging-api#readme
- Issues: https://github.com/infobot-pro/infobot-yc-logging-api/issues
- npm.io page: https://npm.io/package/infobot-yc-logging-api

## Dependencies (5)

- [request](https://npm.io/package/request.md) ^2.88.0
- [winston](https://npm.io/package/winston.md) ^3.3.3
- [jsonwebtoken](https://npm.io/package/jsonwebtoken.md) ^8.5.1
- [@grpc/grpc-js](https://npm.io/package/@grpc/grpc-js.md) ^1.4.4
- [@grpc/proto-loader](https://npm.io/package/@grpc/proto-loader.md) ^0.5.1

## Recent versions

- 1.1.0 (latest) — 2021-12-10
- 1.0.0 — 2021-09-15

## README

# infobot-yc-logging-api
Библиотека для записи логов в сервис [Yandex Cloud Logging](https://cloud.yandex.ru/docs/logging/)

Установите пакет через npm:

```sh
npm i infobot-yc-logging-api
```

## Пример использования
Для работы с Yandex Cloud Logging потребуются следующие данные:
* ID сервисного аккаунта
* Приватный ключ сервисного аккаунта в формате PEM
* ID ключа сервисного аккаунта
* ID группы логирования

Информацию о получении данных сервисных аккаунтов вы найдёте в [документации](https://cloud.yandex.ru/docs/iam/operations/sa/create).

```js
const LoggerAPI = require("infobot-yc-logging-api");

const YCLogger = new LoggerAPI(
    ID_СЕРВИСНОГО_АККАУНТА, 
    ID_КЛЮЧА_СЕРВИСНОГО_АККАУНТА,
    СОДЕРЖИМОЕ_ПРИВАТНОГО_КЛЮЧА);
```
Получения объекта сессии логирования:
```js
 const session = await YCLogger.getLoggerSession();
```

Отправка записи в сервис:
```js
session.write({
    destination: {
        log_group_id: ID_ГРУППЫ_ЛОГИРОВАНИЯ
    },
    resource: {
        type: НАЗВАНИЕ_ПРИЛОЖЕНИЯ
    },
    entries: [
        {
            timestamp: {seconds: Date.parse(info.timestamp) / 1000, nanos: 0},
            level: УРОВЕНЬ_ЛОГИРОВАНИЯ,
            message: ТЕКСТ_ЗАПИСИ,
            json_payload: JSON_PAYLOAD_В_ФОРМАТЕ_google.protobuf.Struct
        }
    ]
});
```

---
_Source: https://npm.io/package/infobot-yc-logging-api · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
