Melihat Fail Log di ServBay: Panduan Debugging & Penyelesaian Masalah
Dalam dunia pembangunan web dan pengurusan pelayan, fail log merupakan kunci untuk mendiagnos masalah, memantau prestasi, dan memahami perilaku aplikasi. Sebagai persekitaran pembangunan web tempatan yang berkuasa, ServBay mengintegrasikan pelbagai pakej (seperti pelayan web, pangkalan data, interpreter bahasa) serta menawarkan pengurusan log yang terpusat untuk semua pakej tersebut.
Dokumen ini menerangkan dua kaedah utama untuk melihat fail log dalam ServBay: menggunakan terminal macOS serta menggunakan antara muka grafik pengguna (GUI) ServBay. Menguasai kaedah ini akan meningkatkan kecekapan debugging dan penyelesaian masalah anda dalam persekitaran ServBay.
Sasaran pembaca: Pembangun web yang menggunakan ServBay untuk pembangunan tempatan, termasuk teknologi seperti PHP, Node.js, Python, Go, Java, Ruby, Rust, .NET, pangkalan data (MySQL, PostgreSQL, MongoDB, MariaDB), servis cache (Redis, Memcached), dan pelayan web (Caddy, Nginx, Apache).
Kepentingan Fail Log
Kenapa fail log sangat penting?
- Diagnos ralat: Masalah aplikasi atau pelayan seperti ranap, konfigurasi salah, atau isu kebenaran biasanya akan meninggalkan maklumat ralat terperinci dalam fail log.
- Analisis perilaku: Memahami permintaan pengguna, respons pelayan, pertanyaan pangkalan data – semuanya membantu pengoptimuman prestasi dan pengesanan pola luar biasa.
- Audit keselamatan: Log merekodkan potensi kejadian keselamatan atau cubaan akses tanpa kebenaran.
- Pemantauan prestasi: Sesetengah log mengandungi maklumat berkaitan masa pemprosesan permintaan, penggunaan sumber, dsb.
ServBay menyatukan pengurusan log, memudahkan pembangun melakukan semakan secara seragam.
Lokasi Simpanan Fail Log ServBay
Semua fail log ServBay disimpan di direktori berikut:
/Applications/ServBay/logs
1
Direktori ini mengandungi log untuk ServBay itu sendiri dan semua pakej yang telah dipasang dan dijalankan (contohnya PHP, Caddy, Nginx, MySQL, PostgreSQL, Redis dan lain-lain), diatur dalam subdirektori mengikut jenis atau versi pakej.
Kaedah 1: Mengakses Fail Log melalui Terminal macOS
Untuk pembangun yang biasa dengan baris perintah, akses log terus melalui terminal menawarkan fleksibiliti serta keupayaan pemprosesan teks yang berkuasa (seperti menggunakan grep
untuk tapis, tail -f
untuk pemantauan masa nyata).
1. Buka Aplikasi Terminal
Buka aplikasi “Terminal” di macOS.
2. Navigasi ke Direktori Log ServBay
Gunakan arahan cd
untuk pergi ke direktori log ServBay:
bash
cd /Applications/ServBay/logs
1
3. Senaraikan Fail Log & Struktur Direktori
Di direktori log, gunakan arahan ls
untuk melihat semua fail log dan subdirektori:
bash
ls -l
1
Anda akan melihat senarai seperti berikut (berdasarkan apa yang anda telah pasang & jalankan):
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. Melihat Kandungan Fail Log Tertentu
Anda boleh gunakan utiliti baris perintah standard (cat
, less
, tail
) untuk membaca fail log:
cat <namafail>
: Paparkan seluruh kandungan fail sekaligus (sesuai untuk fail kecil).less <namafail>
: Paparan berhalaman, menyokong carian dan tatalan (untuk fail besar).tail -f <namafail>
: Papar kemas kini log secara masa nyata, sesuai untuk debugging.
Contoh:
Lihat log FPM PHP 8.3:
bashcat php/8.3/php-fpm.log # Atau paparan berhalaman less php/8.3/php-fpm.log # Atau pemantauan log masa nyata tail -f php/8.3/php-fpm.log
1
2
3
4
5Lihat log ralat pelayan web Caddy: Log Caddy terletak dalam subdirektori
caddy
. Masuk ke direktori itu, kemudian lihat fail log.bashcd caddy ls # Semak nama fail log, contoh: error.log tail -f error.log
1
2
3Lihat log ralat pelayan web Nginx: Log disimpan dalam subdirektori
nginx
.bashcd nginx ls # Semak nama fail log seperti error.log, access.log tail -f error.log
1
2
3Lihat log MySQL 8: Log MySQL dalam subdirektori
mysql
.bashcd mysql ls # Semak nama fail log seperti error.log, slow.log tail -f error.log
1
2
3Lihat log PostgreSQL: Log dalam subdirektori
postgresql
.bashcd postgresql ls # Semak nama fail log tail -f postgresql.log
1
2
3Lihat log Redis:
bashtail -f redis.log
1
5. Menapis Log Menggunakan grep
Apabila kandungan log terlalu besar, grep
sangat berguna untuk mencari maklumat tertentu.
Contoh:
Cari semua baris mengandungi "error" dalam log PHP 8.3:
bashgrep "error" php/8.3/php-fpm.log
1Cari ralat permintaan tertentu dalam log Caddy:
bashtail -f caddy/error.log | grep "servbay.demo"
1
Gabungan tail -f
dan grep
sangat efisien untuk pemantauan log masa nyata dan menapis kemasukan log yang anda perlukan.
Kaedah 2: Melihat Log Melalui GUI ServBay
Bagi pembangun yang kurang selesa dengan baris perintah, GUI ServBay menawarkan cara mudah dan grafik untuk akses log setiap pakej atau laman.
1. Buka Aplikasi ServBay
Cari ikon ServBay dalam folder Aplikasi
macOS dan dua kali klik untuk melancar aplikasi tersebut.
2. Akses Log melalui GUI
ServBay menawarkan beberapa panel untuk capaian pantas kepada log:
Melalui Panel 'Gambaran Keseluruhan (Dashboard)'
Selepas membuka ServBay, anda akan memasuki panel 'Gambaran Keseluruhan' secara lalai. Dalam ruang ‘Pengurusan Servis Pantas’, di sebelah kanan setiap servis yang dipasang atau sedang dijalankan terdapat ikon log (ikon dokumen/ fail). Klik ikon itu untuk terus membuka log pakej berkenaan.
Contoh: Klik ikon dalam panel gambaran keseluruhan untuk melihat log dengan pantas
Melalui Panel 'Pakej (Packages)'
- Dalam GUI ServBay, navigasi ke panel 'Pakej' di menu kiri.
- Pada senarai pakej, ikon log muncul di sebelah kanan setiap pakej. Klik ikon tersebut untuk melihat log bagi pakej berkenaan.
Contoh: Lihat log setiap pakej melalui ikon pada panel pakej
Melalui Panel 'Laman Web (Websites)'
- Dalam GUI ServBay, navigasi ke panel 'Laman Web' di menu kiri.
- Pada senarai laman, ikon log dipaparkan di sebelah kanan konfigurasi setiap laman. Klik untuk membuka log akses atau ralat pelayan web (Caddy, Nginx, Apache) yang berkaitan, sangat berguna untuk penyelesaian masalah khusus laman web.
Contoh: Lihat log berkaitan laman web melalui ikon pada panel laman
Melalui Panel 'Konfigurasi Pakej (Package Configs)'
- Dalam GUI ServBay, navigasi ke panel ‘Konfigurasi Pakej’ di menu kiri.
- Pilih pakej yang ingin dikonfigurasi (contohnya PHP 8.3). Pada halaman perincian konfigurasi, ikon log turut dipaparkan di penjuru kanan atas. Klik untuk melihat log versi pakej tersebut.
Contoh: Lihat log melalui ikon pada panel konfigurasi pakej
Kelebihan penggunaan GUI adalah paparan secara visual dan pantas, tidak memerlukan ingatan maklumat laluan fail atau perintah terminal – sangat sesuai untuk tinjauan status terkini dan ralat terbaru.
Senarai Log ServBay Lazim & Fungsinya
Fahami fungsi pelbagai fail log ini untuk membantu anda menyelesaikan masalah lebih cepat:
/Applications/ServBay/logs/caddy/
: Log pelayan web Caddy, biasanya adaaccess.log
(mere kod semua permintaan masuk) danerror.log
(merekod ralat pelayan)./Applications/ServBay/logs/nginx/
: Log Nginx, biasanya adaaccess.log
danerror.log
./Applications/ServBay/logs/apache/
: Log Apache, biasanya adaaccess.log
danerror.log
./Applications/ServBay/logs/php/<versi>/php-fpm.log
: Aktiviti pengurusan proses PHP-FPM, ralat pelancaran, dan ralat semasa pelaksanaan skrip PHP (jika log PHP diarahkan ke sini)./Applications/ServBay/logs/mysql/error.log
: Log pelancaran, penutupan dan ralat, amaran, serta maklumat ranap untuk MySQL./Applications/ServBay/logs/mysql/slow.log
: Log untuk pertanyaan SQL yang memakan masa melebihi ambang yang ditetapkan (jika diaktifkan)./Applications/ServBay/logs/mariadb/error.log
: Log ralat dan status untuk MariaDB, serupa dengan MySQL./Applications/ServBay/logs/postgresql/postgresql.log
: Log pelbagai kejadian PostgreSQL seperti sambungan, ralat pertanyaan, masalah konfigurasi dan sebagainya./Applications/ServBay/logs/mongodb/mongodb.log
: Log pelancaran, sambungan, replikasi, sharding dan ralat MongoDB./Applications/ServBay/logs/redis.log
: Log maklumat pelancaran, pemuatan konfigurasi, persisian dan ralat Redis./Applications/ServBay/logs/memcached.log
: Log pelancaran dan maklumat operasi Memcached./Applications/ServBay/logs/mailpit.log
: Log status operasi dan maklumat e-mel yang diterima oleh Mailpit./Applications/ServBay/logs/xdebug/<versi>/
: Log sesi debugging untuk XDebug (jika diaktifkan)./Applications/ServBay/logs/dnsmasq.log
: Log pertanyaan dan penyelesaian DNS untuk servis DNS terbina dalam ServBay (Dnsmasq), membantu diagnosis isu domain tempatan.
Pengurusan & Pembersihan Fail Log
Fail log akan terus bertambah saiznya dari masa ke masa dan boleh mengambil ruang cakera yang besar. Disarankan agar anda kerap memeriksa saiz log dan melakukan pembersihan atau pengarkiban.
Gunakan perintah terminal untuk memadam fail log lama yang sudah tidak diperlukan. Contohnya, untuk memadam log ralat PHP tertentu:
bash
rm /Applications/ServBay/logs/php/7.4/php-fpm.log
1
Perhatian Penting:
- Pastikan anda tidak memerlukan mana-mana maklumat dalam fail log sebelum memadam, atau lakukan salinan sandaran dahulu.
- Memadamkan log yang sedang digunakan oleh servis boleh menyebabkan servis tidak lagi boleh menulis log, malah berpotensi menyebabkan ralat servis. Sebaiknya hentikan servis berkaitan sebelum memadam, atau gunakan alat rotasi log (beberapa pakej dalam ServBay mungkin sudah dikonfigurasi untuk rotasi log secara automatik).
Kesimpulan
Melihat dan menganalisis fail log ialah kemahiran penting dalam pembangunan persekitaran tempatan. ServBay memudahkan proses ini dengan struktur direktori log yang teratur dan akses GUI yang mudah. Sama ada anda mengutamakan fleksibiliti baris perintah atau lebih gemar paparan grafik yang intuitif, ServBay menyediakan cara berkesan untuk melihat log. Semak log untuk perkhidmatan utama secara berkala bagi membantu diagnos pantas serta memastikan persekitaran pembangunan anda stabil dan boleh dipercayai.