مروری بر لاگها
لاگهای کانتینرهای Docker، SDKها و ارسال مستقیم از API را یکجا جمع و تحلیل کنید؛ با جستجو، فیلتر و داشبورد بلادرنگ.
لاگهای کانتینرهای Docker، SDKها و ارسال مستقیم از API را یکجا جمع و تحلیل کنید. لاگها را بهصورت بلادرنگ ببینید، جستجو و فیلتر کنید.
با اجرای فقط یک کانتینر، لاگ همهی کانتینرهای Docker بهطور خودکار ارسال میشود
SDKهای native برای Flutter، Node.js، Next.js، Android، iOS و Laravel با ارسال دستهای و تلاش دوباره
لاگها را از هر اپلیکیشن، زبان یا فریمورکی مستقیم با REST API بفرستید
جستجوی متن کامل با فیلتر سطح (error، warn، info، debug، trace) و فیلتر منبع
مشاهدهی بلادرنگ لاگها با بهروزرسانی خودکار، کارتهای آمار و نمایشگر جزئیات لاگ
ارسال دستهای کارآمد برای حجم بالای لاگ
شروع سریع: ایجنت برای Docker#
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
// 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
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
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 برای لاگها.
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"
}'ارسال دستهای#
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 میگیرد؛ با ارسال دستهای لاگها بسیار پایینتر از این سقف میمانید.