گزارش
بلوک log دو جریان گزارش Xray (دسترسی و خطا) را پیکربندی میکند و بهصورت اختیاری گزارش پرسوجوهای DNS و پنهانسازی IP را نیز فراهم میسازد.
گزینهها
| فیلد | نوع | پیشفرض | مقادیر مجاز | توضیحات |
|---|---|---|---|---|
access | string | console | <file path> | none | محل نوشتن گزارشهای دسترسی. خالی (یا تنظیمنشده) به کنسول مینویسد؛ "none" گزارش دسترسی را غیرفعال میکند؛ هر مقدار دیگری بهعنوان مسیر فایل در نظر گرفته میشود. |
error | string | console | <file path> | none | محل نوشتن گزارشهای خطا. معنای آن مانند access است: خالی = کنسول، "none" = خاموش، هر چیز دیگر = مسیر فایل. |
loglevel | string | warning | debug | info | warning | error | none | حداقل سطح اهمیت برای گزارش خطا. مقدار "none" همچنین گزارش دسترسی را نیز اجباراً خاموش میکند. |
dnsLog | bool | false | true | false | وقتی true باشد، هر پرسوجوی DNS که موتور مسیریابی حل میکند در گزارش دسترسی نوشته میشود. |
maskAddress | string | (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)
