Skip to content

گزارش

بلوک log دو جریان گزارش Xray (دسترسی و خطا) را پیکربندی می‌کند و به‌صورت اختیاری گزارش پرس‌وجوهای DNS و پنهان‌سازی IP را نیز فراهم می‌سازد.

گزینه‌ها

فیلدنوعپیش‌فرضمقادیر مجازتوضیحات
accessstringconsole<file path> | noneمحل نوشتن گزارش‌های دسترسی. خالی (یا تنظیم‌نشده) به کنسول می‌نویسد؛ "none" گزارش دسترسی را غیرفعال می‌کند؛ هر مقدار دیگری به‌عنوان مسیر فایل در نظر گرفته می‌شود.
errorstringconsole<file path> | noneمحل نوشتن گزارش‌های خطا. معنای آن مانند access است: خالی = کنسول، "none" = خاموش، هر چیز دیگر = مسیر فایل.
loglevelstringwarningdebug | info | warning | error | noneحداقل سطح اهمیت برای گزارش خطا. مقدار "none" همچنین گزارش دسترسی را نیز اجباراً خاموش می‌کند.
dnsLogboolfalsetrue | falseوقتی true باشد، هر پرس‌وجوی DNS که موتور مسیریابی حل می‌کند در گزارش دسترسی نوشته می‌شود.
maskAddressstring(off)full | half | quarter | /v4mask+/v6maskپنهان‌سازی آدرس‌های IP کلاینت/مقصد در گزارش. "full" = /0+/0، "half" = /16+/32، "quarter" = /8+/16. همچنین می‌توانید جفت صریحی مانند "/16+/64" ارائه دهید.

منبع: infra/conf/log.go:18-24 · ثابت‌شده در v1.260327.0 (d2758a0)

مثال‌ها

خروجی کنسول در سطح پیش‌فرض warning:

json
{
  "log": {
    "loglevel": "warning"
  }
}

نوشتن هر دو جریان در فایل، گزارش‌گیری از هر پرس‌وجوی DNS، پنهان‌سازی IP به /16+/32:

json
{
  "log": {
    "access": "/var/log/xray/access.log",
    "error": "/var/log/xray/error.log",
    "loglevel": "info",
    "dnsLog": true,
    "maskAddress": "half"
  }
}

غیرفعال کردن کامل گزارش‌گیری:

json
{
  "log": {
    "loglevel": "none"
  }
}

نکات

  • فیلدهای access و error در LogConfig.Build (infra/conf/log.go:36-47) منطق یکسان "none / خالی / مسیر" را به اشتراک می‌گذارند؛ مقدار "none" همان کلید قطع مستندشده است — هر رشتهٔ غیرخالی دیگر به‌عنوان مسیر فایل تلقی می‌شود، نه به‌عنوان کلیدواژهٔ سطح.
  • loglevel: "none" خاص است: علاوه بر خاموش کردن جریان خطا، هر دو جریان را نیز اجباراً غیرفعال می‌کند (infra/conf/log.go:57-59).
  • maskAddress در زمان تحلیل پیکربندی به‌صورت enum اعتبارسنجی نمی‌شود. مقادیر ناشناخته به تحلیل‌گر جفت سفارشی در app/log/log.go:177-193 ارجاع می‌شوند و خطای تحلیل در آنجا به‌صورت خطای راه‌اندازی منتشر می‌شود.

منبع: infra/conf/log.go:18-24 · v1.260327.0 (d2758a0)

Core Tutorial اثر Argsment