كيفية استعراض ملفات السجلات في ServBay: دليل التصحيح واستكشاف الأخطاء
تعد ملفات السجلات أداة أساسية لتشخيص الأعطال، مراقبة الأداء، وفهم سلوك التطبيقات أثناء تطوير مواقع الويب وإدارة الخوادم. يوفر ServBay، كبيئة تطوير ويب محلية قوية، أسلوباً متكاملاً لإدارة سجلات حزم البرمجيات المتعددة (مثل خوادم الويب، قواعد البيانات، مفسرات لغات البرمجة وغيرها).
في هذا المقال ستتعرف بتفصيل على طريقتين رئيسيتين لمراجعة ملفات السجلات في ServBay: عبر الطرفية في نظام macOS، أو باستخدام واجهة ServBay الرسومية (GUI). إتقان هذه الطرق يرفع من كفاءتك في التصحيح ومعالجة الأعطال في بيئة ServBay.
الفئة المستهدفة: مطورو الويب الذين يستخدمون ServBay في بيئة تطوير محلية ويعملون بتقنيات مثل PHP، Node.js، Python، Go، Java، Ruby، Rust، .NET، قواعد بيانات (MySQL، PostgreSQL، MongoDB، MariaDB)، أنظمة التخزين المؤقت (Redis، Memcached)، وخوادم الويب (Caddy، Nginx، Apache) وغيرهم.
أهمية ملفات السجلات
لماذا تعتبر ملفات السجلات ضرورية؟
- تشخيص الأخطاء: عادةً ما تحتوى السجلات على معلومات تفصيلية عن أخطاء الخادم والبرمجيات عند التعطل، أو المشاكل في الإعدادات أو الصلاحيات.
- تحليل السلوك: الاطلاع على طلبات المستخدمين، ونتائج الخادم، واستعلامات قاعدة البيانات يساعد على تحسين الأداء واكتشاف أنماط الاستثناء.
- تدقيق أمني: يستطيع السجل توثيق الحوادث الأمنية أو محاولات الوصول غير المصرح بها.
- مراقبة الأداء: بعض السجلات تبيّن أزمنة المعالجة واستهلاك الموارد وغيرها من مؤشرات الأداء.
يسهل ServBay إدارة السجلات عبر توحيد موقعها لجميع الحزم البرمجية، مما يُمكن المطور من مراجعتها بفعالية.
أين تُخزّن ملفات السجلات في ServBay؟
جميع ملفات السجلات الخاصة بـ ServBay محفوظة بشكل موحد في المسار التالي:
/Applications/ServBay/logs
1
يحتوي هذا الدليل على سجلات ServBay الرئيسية وكل الحزم المثبتة والتي تعمل حالياً (مثل PHP، Caddy، Nginx، MySQL، PostgreSQL، Redis وغيرها)، منظَّمة عادةً ضمن مجلدات فرعية بحسب نوع الحزمة أو الإصدار.
الطريقة الأولى: استعراض السجلات عبر الطرفية في macOS
للمطورين المتمكنين من أوامر الطرفية، يوفر استعراض السجلات عبر الطرفية مرونة كبيرة وقدرات معالجة نصوص قوية (مثل استخدام grep
للبحث، أو tail -f
للمراقبة اللحظية).
1. فتح تطبيق الطرفية
افتح تطبيق "الطرفية" (Terminal) في نظام macOS.
2. الانتقال إلى دليل السجلات في ServBay
استخدم أمر cd
للانتقال إلى مجلد السجلات في ServBay:
bash
cd /Applications/ServBay/logs
1
3. استعراض ملفات السجلات وهيكل الدلائل
داخل مجلد السجلات، استخدم أمر ls
لاستعراض جميع الملفات والمجلدات الفرعية المتاحة:
bash
ls -l
1
ستظهر لك قائمة مماثلة لما يلي (تعتمد التفاصيل على الحزم المُنَزّلة والمُشغَّلة):
caddy/
dnsmasq.log
mailpit.log
mariadb/
memcached.log
mongodb/
mysql/
nginx/
apache/
php/
|____5.6/
|____7.0/
|____7.1/
|____7.2/
|____7.3/
|____7.4/
|____8.0/
|____8.1/
|____8.2/
|____8.3/
|____8.4/
postgresql/
redis.log
xdebug/
|____5.6/
|____7.0/
|____7.1/
|____7.2/
|____7.3/
|____7.4/
|____8.0/
|____8.1/
|____8.2/
|____8.3/
|____8.4/
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
4. استعراض محتوى ملف سجل معين
تستطيع استخدام أدوات الطرفية المدمجة مثل (cat
،less
،tail
) لقراءة محتوى السجلات.
cat <اسم الملف>
: يعرض محتوى الملف كاملاً دفعة واحدة (مناسب للملفات الصغيرة).less <اسم الملف>
: استعراض تفاعلي مع إمكانية البحث والتنقل (أفضل للملفات كبيرة الحجم).tail -f <اسم الملف>
: متابعة وعرض أحدث المحتوى لحظياً، مفيد جداً أثناء التصحيح ومراقبة الأحداث الجديدة.
أمثلة:
استعراض سجل FPM لـ PHP 8.3:
bashcat php/8.3/php-fpm.log # أو استعراض تفاعلي less php/8.3/php-fpm.log # أو مراقبة السجل لحظياً tail -f php/8.3/php-fpm.log
1
2
3
4
5استعراض سجل أخطاء خادم الويب Caddy: يوجد عادةً في مجلد
caddy
. انتقل إليه، ثم استعرض الملف المحدد.bashcd caddy ls # شاهد اسم ملف السجل مثل error.log tail -f error.log
1
2
3استعراض سجل الأخطاء لـ Nginx: يوجد غالباً في مجلد
nginx
.bashcd nginx ls # راجع أسماء السجلات مثل error.log، access.log tail -f error.log
1
2
3استعراض سجل MySQL 8: يوجد في
mysql
.bashcd mysql ls # ابحث عن الملفات مثل error.log، slow.log tail -f error.log
1
2
3استعراض سجل PostgreSQL: يوجد في
postgresql
.bashcd postgresql ls # اعرض اسم السجل tail -f postgresql.log
1
2
3استعراض سجل Redis:
bashtail -f redis.log
1
5. استخدام grep
لفلترة السجلات
في حالة كانت السجلات كبيرة، أمر grep
فعال جداً للبحث عن معلومات معينة.
أمثلة:
البحث عن جميع الأسطر التي تحتوي على "error" في سجل PHP 8.3:
bashgrep "error" php/8.3/php-fpm.log
1البحث عن أخطاء مرتبطة بطلب معين في سجل Caddy:
bashtail -f caddy/error.log | grep "servbay.demo"
1
بدمج tail -f
مع grep
تستطيع مراقبة السجل لحظياً واستخراج المعلومات ذات الأهمية بسرعة فائقة.
الطريقة الثانية: استعراض السجلات عبر واجهة ServBay الرسومية (GUI)
للمطورين غير المتمرسين في استخدام الطرفية، تقدم واجهة ServBay الرسومية طريقة سهلة وسريعة للوصول إلى سجلات الحزم أو المواقع مباشرةً.
1. فتح تطبيق ServBay
اذهب إلى مجلد "التطبيقات" (Applications) في نظام macOS، وابحث عن أيقونة ServBay ثم شغل التطبيق.
2. الوصول إلى السجلات عبر الواجهة الرسومية
يتيح ServBay من عدة لوحات خيارات للوصول السريع إلى السجلات:
من لوحة "نظرة عامة" (Dashboard)
بمجرد فتح تطبيق ServBay، يتم نقلك افتراضياً إلى لوحة "نظرة عامة". في منطقة "إدارة الخدمات السريعة"، يوجد رمز سجل (يظهر كملف أو مستند) بجانب كل حزمة قيد التشغيل أو مثبّتة – بالضغط عليه يُفتح ملف السجل الخاص بالحزمة.
توضيح: استعراض السجلات بسرعة من لوحة النظرة العامة عبر الأيقونة
من لوحة "الحزم" (Packages)
- من القائمة الجانبية اليسرى في واجهة ServBay، اختر لوحة "الحزم".
- يعرض كل سطر في قائمة الحزم رمز سجل بجانبه. بالضغط عليه يتم استعراض سجل الحزمة مباشرة.
توضيح: استعراض سجل الحزمة عبر لوحة الحزم
من لوحة "المواقع" (Websites)
- من القائمة اليسرى، انتقل إلى لوحة "المواقع".
- إلى جانب كل موقع معرّف ستجد رمز سجل – غالباً يؤدي إلى فتح سجل الوصول أو الأخطاء المرتبط بخادم الويب (Caddy، Nginx، Apache) الخاص بذلك الموقع، ما يسهّل استكشاف مشاكل المواقع تحديداً.
توضيح: استعراض سجلات المواقع عبر لوحة المواقع
من لوحة "إعدادات الحزمة" (Package Configs)
- انتقل إلى لوحة "إعدادات الحزمة" في القائمة اليسرى.
- اختر الحزمة أو الإصدار المطلوب (مثل PHP 8.3). عادةً تجد رمز سجل في أعلى يمين صفحة الإعدادات، بالضغط عليه يتم فتح سجل الإصدار المحدد.
توضيح: استعراض سجل الحزمة من إعدادات الحزمة
ميزة استعراض السجلات عبر الواجهة الرسومية أنها مباشرة وسهلة، ولا تتطلب معرفة بمسارات الملفات أو أوامر الطرفية، مثالية لمتابعة حالة الخدمة أو آخر الأخطاء بسرعة.
أشهر ملفات السجلات في ServBay ووظائفها
معرفة وظيفة كل سجل تجعل تشخيص الأعطال أكثر سرعة وفعالية:
/Applications/ServBay/logs/caddy/
: يحتوي على سجلات خادم الويب Caddy، مثلaccess.log
(تسجيل كل الطلبات الواردة) وerror.log
(سجل أخطاء الخادم)./Applications/ServBay/logs/nginx/
: يحتوي على سجلات Nginx مثلaccess.log
وerror.log
./Applications/ServBay/logs/apache/
: يحتوي على سجلات Apache كـaccess.log
وerror.log
./Applications/ServBay/logs/php/<رقم الإصدار>/php-fpm.log
: يسجل حالة FPM ومستوى تشغيله وأخطاء تهيئة الخدمة وأخطاء تنفيذ السكريبتات (حسب إعدادات سجل أخطاء PHP)./Applications/ServBay/logs/mysql/error.log
: يسجل بدء تشغيل وإيقاف MySQL، إضافة إلى أخطاء وتحذيرات وتعطل الخدمة./Applications/ServBay/logs/mysql/slow.log
: يسجل الاستعلامات البطيئة (عند التفعيل)./Applications/ServBay/logs/mariadb/error.log
: يسجل أخطاء وحالة MariaDB، شبيه بـسجل MySQL./Applications/ServBay/logs/postgresql/postgresql.log
: يتضمن أحداث PostgreSQL مثل الاتصالات وأخطاء الاستعلامات ومشاكل الإعدادات./Applications/ServBay/logs/mongodb/mongodb.log
: يسجل بدء، اتصالات، نسخ احتياطي، تقسيم، وأخطاء MongoDB أثناء التشغيل./Applications/ServBay/logs/redis.log
: يسجل تشغيل Redis، الإعدادات، الحفظ، وأخطاء التشغيل./Applications/ServBay/logs/memcached.log
: يسجل بدء وعمل نظام Memcached./Applications/ServBay/logs/mailpit.log
: يسجل حالة تشغيل وأحداث أداة التقاط البريد Mailpit./Applications/ServBay/logs/xdebug/<رقم الإصدار>/
: يحتوي على سجلات XDebug لجلسات التصحيح (في حال التفعيل)./Applications/ServBay/logs/dnsmasq.log
: يسجل استفسارات وتحليلات نظام DNS الداخلي (Dnsmasq)، ويفيد في استكشاف مشاكل أسماء النطاقات المحلية.
إدارة وتنظيف ملفات السجلات
تتضخم ملفات السجلات مع الوقت وقد تستهلك مساحة قرص كبيرة؛ لذلك من المهم مراقبة حجمها دورياً وتنظيف أو أرشفة السجلات القديمة.
يمكنك حذف السجلات القديمة غير الضرورية من الطرفية عبر أمر مثل:
bash
rm /Applications/ServBay/logs/php/7.4/php-fpm.log
1
تنبيهات هامة:
- قبل حذف أي سجل تحقق من عدم الحاجة إليه أو تأكد أنك أخذت نسخة احتياطية.
- حذف سجل قيد الكتابة قد يعيق الخدمة أو يسبب توقفها. يفضل إيقاف الخدمة ذات الصلة قبل الحذف، أو استخدام أدوات تدوير السجلات (بعض الحزم في ServBay مزودة بذلك تلقائياً).
الخلاصة
إن استكشاف وتحليل السجلات مهارة لا غنى عنها لأي مطوّر في بيئة تطوير محلية. يسهّل ServBay العملية بتوفير هيكلية موحدة للسجلات وطرق وصول مبسطة بالواجهة الرسومية، مما يرفع الإنتاجية سواء كنت من محبي الطرفية أو الواجهات الرسومية. داوم على مراجعة سجلات الخدمات الرئيسية لتسريع تشخيص الأعطال وضمان استقرار بيئة عملك.