ابرووا
شروع رایگان
☰ فهرست مستندات · معرفی لاگ‌ها

مروری بر لاگ‌ها

لاگ‌های کانتینرهای Docker، SDKها و ارسال مستقیم از API را یک‌جا جمع و تحلیل کنید؛ با جستجو، فیلتر و داشبورد بلادرنگ.

به‌روزرسانی: ۵ آبان ۱۴۰۵

لاگ‌های کانتینرهای Docker، SDKها و ارسال مستقیم از API را یک‌جا جمع و تحلیل کنید. لاگ‌ها را به‌صورت بلادرنگ ببینید، جستجو و فیلتر کنید.

ایجنت برای Docker

با اجرای فقط یک کانتینر، لاگ همه‌ی کانتینرهای Docker به‌طور خودکار ارسال می‌شود

لاگ‌گیری با SDK

SDKهای native برای Flutter، Node.js، Next.js، Android، iOS و Laravel با ارسال دسته‌ای و تلاش دوباره

ارسال از API

لاگ‌ها را از هر اپلیکیشن، زبان یا فریم‌ورکی مستقیم با REST API بفرستید

جستجو و فیلتر

جستجوی متن کامل با فیلتر سطح (error، warn، info، debug، trace) و فیلتر منبع

داشبورد بلادرنگ

مشاهده‌ی بلادرنگ لاگ‌ها با به‌روزرسانی خودکار، کارت‌های آمار و نمایشگر جزئیات لاگ

پشتیبانی از ارسال دسته‌ای

ارسال دسته‌ای کارآمد برای حجم بالای لاگ

شروع سریع: ایجنت برای Docker#

bash
docker run -d \
  --name abrova-trace-agent \
  --restart=always \
  -v /var/run/docker.sock:/var/run/docker.sock:ro \
  -e ABROVA_TRACE_API_KEY=ab_srv_your_server_secret \
  ghcr.io/abrova-co/abrova-trace-agent:latest

از کلید سرور پروژه (ab_srv_...) در کنسول ابرووا استفاده کنید. لاگ همه‌ی کانتینرها در ابرووا تریس › Logs نمایش داده می‌شود. راه‌اندازی روی چند host، مدیریت کانتینرها و همه‌ی گزینه‌ها: ایجنت ابرووا تریس.

شروع سریع: لاگ‌گیری با SDK#

با SDKهای native، لاگ‌ها به‌طور خودکار دسته‌ای ارسال می‌شوند، تلاش دوباره با فاصله‌ی افزایشی (exponential backoff) انجام می‌شود و چرخه‌ی حیات اپ موبایل در نظر گرفته می‌شود.

Flutter

dart
// Enable logging
AbrovaTrace.enableLogging(sourceId: 'my-flutter-app');

// Send logs
AbrovaTrace.info('User login successful', metadata: {'user_id': 'user_123'});
AbrovaTrace.warn('Slow API response', metadata: {'duration_ms': 2500});
AbrovaTrace.logError('Database query failed', metadata: {'query': 'SELECT ...'});

Node.js

javascript
const { LogService, LogLevel } = require('@abrova-trace/nodejs-sdk');

const logger = new LogService({
  apiKey: 'ab_live_your_api_key',
  sourceId: 'api-server',
  environment: 'production',
});

logger.log('Server started', LogLevel.INFO);
logger.log('Payment failed', LogLevel.ERROR, { orderId: '12345' });

Next.js

typescript
import { LogService } from '@abrova-trace/nextjs-sdk';

const logger = new LogService({
  apiKey: process.env.ABROVA_TRACE_API_KEY!,
  sourceId: 'nextjs-app',
  platform: 'nextjs',
  environment: process.env.NODE_ENV,
});

logger.log('Request received', 'info', { path: '/api/users' });

قابلیت‌های SDK: تلاش دوباره با فاصله‌ی افزایشی (حداکثر ۶۰ ثانیه بین تلاش‌ها)، بافر با سقف ۱٬۰۰۰ لاگ، تایمرهای تنبل (در حالت بیکار باتری مصرف نمی‌شود)، و hookهای چرخه‌ی حیات موبایل (ارسال خودکار هنگام رفتن اپ به پس‌زمینه). جزئیات در هر SDK فرق دارد؛ صفحه‌ی لاگ‌گیری هر SDK را ببینید.

شروع سریع: ارسال از API#

فهرست کامل فیلدها و نمونه‌ها به زبان‌های دیگر: REST API برای لاگ‌ها.

bash
curl -X POST https://trace.abrova.ir/api/logs/ingest \
  -H "x-api-key: ab_srv_your_server_secret" \
  -H "Content-Type: application/json" \
  -d '{
    "sourceId": "api-server",
    "level": "info",
    "message": "Server started on port 3000"
  }'

ارسال دسته‌ای#

bash
curl -X POST https://trace.abrova.ir/api/logs/ingest/batch \
  -H "x-api-key: ab_srv_your_server_secret" \
  -H "Content-Type: application/json" \
  -d '{
    "sourceId": "api-server",
    "logs": [
      { "level": "info", "message": "Request received" },
      { "level": "debug", "message": "Processing..." },
      { "level": "info", "message": "Response sent in 45ms" }
    ]
  }'

سطح‌های لاگ#

  • fatal — خطاهای بحرانی و غیرقابل بازیابی
  • error — خطاهایی که باید بررسی شوند
  • warn — هشدار درباره‌ی مشکلات احتمالی
  • info — اطلاعات عمومی اپلیکیشن
  • debug — اطلاعات دقیق برای دیباگ
  • trace — دیباگ بسیار جزئی در سطح trace

سقف‌ها و هزینه‌ها#

هزینه از کیف پول.

رایگان در هر ماه: ۱ گیگابایت لاگ. بیش از آن، هزینه از کیف پول: هر گیگابایت ۱۵٬۰۰۰ تومان. لاگ‌ها ۳۰ روز نگه داشته می‌شوند. قیمت‌ها را ببینید.

ارسال لاگ برای هر کلید و هر آدرس کلاینت سقف درخواست بالایی دارد. کلاینتی که از این سقف بگذرد پاسخ HTTP 429 با هدر Retry-After می‌گیرد؛ با ارسال دسته‌ای لاگ‌ها بسیار پایین‌تر از این سقف می‌مانید.

این صفحه مفید بود؟
گزارش مشکل