Документация
SDK
47 официальных клиентов: DSN, установка из реестра GitFlic, тестовая ошибка и просмотр Issues в кабинете.
Выбор SDK
Выберите пакет под ваш стек: язык, фреймворк (React, Laravel, NestJS…) или платформу (Unity, Godot). Все клиенты отправляют события на один Ingest API.
| SDK | Пакет | Доставка | Версия |
|---|---|---|---|
| JavaScript / TypeScript | devlogs-sdk-js | GitFlic Registry | 0.4.0 |
| Go (Golang) | devlogs-sdk-go | Go / Golang (registry + git tag) | 0.4.0 |
| Python | devlogs-sdk-python | GitFlic Registry | 0.4.0 |
| PHP | devlogs-sdk-php | GitFlic Registry | 0.4.0 |
| Ruby | devlogs-sdk-ruby | GitFlic Registry | 0.4.0 |
| Rust | devlogs-sdk-rust | GitFlic Registry | 0.4.0 |
| Java | devlogs-sdk-java | GitFlic Registry | 0.4.0 |
| C# / .NET | devlogs-sdk-dotnet | GitFlic Registry | 0.4.0 |
| Node.js | devlogs-sdk-node | GitFlic Registry | 0.4.0 |
| React | @devlogs/sdk-react | GitFlic Registry | 0.4.0 |
| Next.js | @devlogs/sdk-nextjs | GitFlic Registry | 0.4.0 |
| Vue | @devlogs/sdk-vue | GitFlic Registry | 0.4.0 |
| Angular | @devlogs/sdk-angular | GitFlic Registry | 0.4.0 |
| React Native | @devlogs/sdk-react-native | GitFlic Registry | 0.4.0 |
| Svelte | @devlogs/sdk-svelte | GitFlic Registry | 0.4.0 |
| NestJS | @devlogs/sdk-nestjs | GitFlic Registry | 0.4.0 |
| Electron | @devlogs/sdk-electron | GitFlic Registry | 0.4.0 |
| Edge (Workers / Deno) | @devlogs/sdk-edge | GitFlic Registry | 0.4.0 |
| Nuxt | @devlogs/sdk-nuxt | GitFlic Registry | 0.4.0 |
| Remix | @devlogs/sdk-remix | GitFlic Registry | 0.4.0 |
| Kotlin | devlogs-sdk-kotlin | GitFlic Registry | 0.4.0 |
| Swift | devlogs-sdk-swift | Git repository | git |
| Dart / Flutter | devlogs-sdk-dart | Git repository | git |
| Elixir | devlogs-sdk-elixir | Git repository | git |
| Clojure | devlogs-sdk-clojure | Git repository | git |
| Haskell | devlogs-sdk-haskell | Git repository | git |
| Perl | devlogs-sdk-perl | Git repository | git |
| Crystal | devlogs-sdk-crystal | Git repository | git |
| PowerShell | devlogs-sdk-powershell | Git repository | git |
| C / C++ (Native) | devlogs-sdk-native | Git repository | git |
| Laravel | devlogs-sdk-laravel | GitFlic Registry | 0.4.0 |
| Symfony | devlogs-sdk-symfony | GitFlic Registry | 0.4.0 |
| Rails | devlogs-sdk-rails | GitFlic Registry | 0.4.0 |
| Unity | devlogs-sdk-unity | Git repository | git |
| Unreal Engine | devlogs-sdk-unreal | Git repository | git |
| Godot | devlogs-sdk-godot | Git repository | git |
| Apple (Cocoa) | devlogs-sdk-cocoa | Git repository | git |
| Capacitor / Ionic | @devlogs/sdk-capacitor | GitFlic Registry | 0.4.0 |
| .NET MAUI | devlogs-sdk-maui | GitFlic Registry | 0.4.0 |
| Expo (React Native) | @devlogs/sdk-expo | GitFlic Registry | 0.4.0 |
| Spring Boot | devlogs-sdk-spring | GitFlic Registry | 0.4.0 |
| Django | devlogs-sdk-django | GitFlic Registry | 0.4.0 |
| Astro | @devlogs/sdk-astro | GitFlic Registry | 0.4.0 |
| Tauri | devlogs-sdk-tauri | GitFlic Registry | 0.4.0 |
| Android (native) | devlogs-sdk-android | GitFlic Registry | 0.4.0 |
| SolidJS | @devlogs/sdk-solid | GitFlic Registry | 0.4.0 |
| WordPress | devlogs-sdk-wordpress | GitFlic Registry | 0.4.0 |
Реестр GitFlic: git.melnikovit.ru/registry/package. Исходники: dev-logs-sdk.
Как получить DSN
- Войдите в личный кабинет на https://dev-logs.ru.
- Создайте проект или откройте существующий → перейдите в Настройки проекта (
/projects/<id>/settings). - Скопируйте DSN-ключ — публичный идентификатор проекта для SDK и curl-тестов.
Подключение SDK
Установите пакет из реестра GitFlic. Ниже — примеры для 12 популярных SDK @ v0.4.0. Остальные 35 клиентов — в интерактивном каталоге с командами установки и README.
JavaScript / TypeScript
Клиент для браузера и серверного JavaScript/TypeScript.
npm install devlogs-sdk-js@0.4.0 \ --registry https://git.melnikovit.ru/registry/package/-/npm/
import { init, captureError } from 'devlogs-sdk-js';
init({
dsn: 'YOUR_DSN',
serverUrl: 'https://dev-logs.ru',
release: '1.0.0',
environment: 'production',
gitCommit: process.env.NEXT_PUBLIC_GIT_COMMIT,
});
captureError(new Error('тестовая ошибка'));README: javascript/README.md · карточка в реестре
Node.js
Клиент для Node.js без привязки к фреймворку.
npm install devlogs-sdk-node@0.4.0 \ --registry https://git.melnikovit.ru/registry/package/-/npm/
import { init, captureException } from 'devlogs-sdk-node';
init({
dsn: 'YOUR_DSN',
serverUrl: 'https://dev-logs.ru',
release: '1.0.0',
environment: 'production',
gitCommit: process.env.NEXT_PUBLIC_GIT_COMMIT,
});
captureException(new Error('тестовая ошибка'));React
Интеграция DevLogs для React-приложений.
npm install @devlogs/sdk-react@0.4.0 \ --registry https://git.melnikovit.ru/registry/package/-/npm/
import { init, captureException } from '@devlogs/sdk-react';
init({
dsn: 'YOUR_DSN',
serverUrl: 'https://dev-logs.ru',
release: '1.0.0',
environment: 'production',
gitCommit: process.env.NEXT_PUBLIC_GIT_COMMIT,
});
captureException(new Error('тестовая ошибка'));Next.js
Интеграция DevLogs для Next.js.
npm install @devlogs/sdk-nextjs@0.4.0 \ --registry https://git.melnikovit.ru/registry/package/-/npm/
import { init, captureException } from '@devlogs/sdk-nextjs';
init({
dsn: 'YOUR_DSN',
serverUrl: 'https://dev-logs.ru',
release: '1.0.0',
environment: 'production',
gitCommit: process.env.NEXT_PUBLIC_GIT_COMMIT,
});
captureException(new Error('тестовая ошибка'));Go (Golang)
Клиент для Go-сервисов, CLI и микросервисов.
export GOPROXY=direct export GOPRIVATE=git.melnikovit.ru go get git.melnikovit.ru/project/ivan/dev-logs-sdk/go@v0.4.0
import (
"errors"
devlogs "git.melnikovit.ru/project/ivan/dev-logs-sdk/go"
)
client := devlogs.New("YOUR_DSN",
devlogs.WithServerURL("https://dev-logs.ru"),
devlogs.WithRelease("1.0.0"),
devlogs.WithEnvironment("production"),
devlogs.WithGitCommit(os.Getenv("CI_COMMIT_SHA")),
)
client.CaptureError(errors.New("тестовая ошибка"), nil)README: go/README.md · карточка в реестре
Python
Клиент для Python-приложений и скриптов.
pip install devlogs-sdk-python==0.4.0 \ --index-url https://git.melnikovit.ru/registry/package/-/pypi/simple
from devlogs import Client
client = Client("YOUR_DSN", server_url="https://dev-logs.ru")
client.capture_exception(Exception("тестовая ошибка"))README: python/README.md · карточка в реестре
PHP
Клиент для PHP-приложений.
composer require devlogs/devlogs-sdk-php:0.4.0 \
--repository='{"type":"composer","url":"https://git.melnikovit.ru/registry/package/-/composer/"}'$client = new \DevLogs\Client('YOUR_DSN', 'https://dev-logs.ru');
$client->captureException(new \Exception('тестовая ошибка'));README: php/README.md · карточка в реестре
Ruby
Клиент для Ruby-приложений.
gem install devlogs-sdk-ruby -v 0.4.0 \ --source https://git.melnikovit.ru/registry/package/-/rubygem
client = Devlogs::Client.new(dsn: 'YOUR_DSN', server_url: 'https://dev-logs.ru')
client.capture_exception(StandardError.new('тестовая ошибка'))README: ruby/README.md · карточка в реестре
Java
Клиент для Java-приложений.
<!-- pom.xml — репозиторий GitFlic -->
<repositories>
<repository>
<id>gitflic</id>
<url>https://git.melnikovit.ru/registry/package/-/maven/</url>
</repository>
</repositories>
<dependency>
<groupId>ru.devlogs</groupId>
<artifactId>devlogs-sdk-java</artifactId>
<version>0.4.0</version>
</dependency>Client client = new Client("YOUR_DSN", "https://dev-logs.ru");
client.captureException(new RuntimeException("тестовая ошибка"));README: java/README.md · карточка в реестре
C# / .NET
Клиент для C# и .NET-приложений.
dotnet nuget add source https://git.melnikovit.ru/registry/package/-/nuget/index.json -n gitflic dotnet add package devlogs-sdk-dotnet --version 0.4.0
var client = new Client("YOUR_DSN", "https://dev-logs.ru");
await client.CaptureExceptionAsync(new Exception("тестовая ошибка"));README: dotnet/README.md · карточка в реестре
React Native
Клиент для React Native-приложений.
npm install @devlogs/sdk-react-native@0.4.0 \ --registry https://git.melnikovit.ru/registry/package/-/npm/
import { initForReactNative, captureException } from '@devlogs/sdk-react-native';
initForReactNative({
dsn: 'YOUR_DSN',
serverUrl: 'https://dev-logs.ru',
release: '1.0.0',
environment: 'production',
gitCommit: process.env.NEXT_PUBLIC_GIT_COMMIT,
});
captureException(new Error('тестовая ошибка'));README: npm-packages/react-native/README.md · карточка в реестре
Laravel
Интеграция DevLogs для Laravel.
composer require devlogs/devlogs-sdk-laravel:0.4.0 \
--repository='{"type":"composer","url":"https://git.melnikovit.ru/registry/package/-/composer/"}'use DevLogs\Laravel\DevLogsClient;
$client = new DevLogsClient('YOUR_DSN', 'https://dev-logs.ru');
$client->captureException(new \Exception('тестовая ошибка'));README: laravel/README.md · карточка в реестре
Git-коммит (подозреваемый commit в issue)
Передайте SHA деплоя — DevLogs автоматически заполнит блок «Подозреваемый коммит» при первом событии issue. Ручное значение в кабинете не перезаписывается.
DevLogs.init({
dsn: process.env.NEXT_PUBLIC_DEVLOGS_DSN,
release: "1.2.0",
gitCommit: process.env.NEXT_PUBLIC_GIT_COMMIT,
gitCommitMessage: process.env.NEXT_PUBLIC_GIT_COMMIT_MESSAGE,
});Альтернатива: тег git_commit или поле gitCommit в JSON ingest. Если release — git SHA (7–40 hex), он тоже подставится. Подробнее: Git-коммит в событиях.
client := devlogs.New("YOUR_DSN",
devlogs.WithRelease("1.2.0"),
devlogs.WithGitCommit(os.Getenv("CI_COMMIT_SHA")),
)Release и environment
Передайте release (версия приложения) и environment (production, staging, …) при инициализации — они попадают в каждое событие и доступны в фильтрах кабинета.
| Переменная | Описание |
|---|---|
| DEVLOGS_DSN | Публичный DSN проекта (если SDK поддерживает env) |
| DEVLOGS_SERVER_URL | Базовый URL (https://dev-logs.ru) |
| DEVLOGS_RELEASE | Версия релиза приложения |
| DEVLOGS_GIT_COMMIT | Git SHA деплоя (подозреваемый коммит в issue) |
| DEVLOGS_GIT_COMMIT_MESSAGE | Сообщение git-коммита (необязательно) |
| DEVLOGS_ENVIRONMENT | Окружение (production, staging, …) |
Как проверить, что работает
После инициализации SDK вызовите тестовую ошибку (например captureException) или отправьте событие через curl:
curl -s -X POST "https://dev-logs.ru/api/ingest" \
-H "Content-Type: application/json" \
-d '{
"dsn": "YOUR_DSN",
"message": "Тестовая ошибка DevLogs",
"level": "error",
"type": "TestError",
"release": "1.0.0",
"environment": "production"
}'Успешный ответ: HTTP 201 с errorId и fingerprint.
Просмотр ошибок в кабинете
- Кабинет → Проект → Issues — список сгруппированных ошибок (issues).
- Фильтры: уровень, окружение, release, текст сообщения, статус (открыта / решена).
- Клик по issue — детали: stack trace, контекст, breadcrumbs, история событий.
- Для читаемого stack trace в production загрузите source maps и укажите тот же
releaseв SDK.
Алерты
Настройте уведомления о новых issues: Telegram, email или webhooks — в настройках проекта или по инструкции в разделе Алерты.