Minta Pencerahan: Cara Efektif Mengecek Error Log di Odoo
Diposting pada 20 Apr 2026, 00:42
Ditanyakan oleh: Ridwan
Halo teman-teman praktisi Odoo di grup ini, salam kenal saya Ridwan dari tim IT. Kami lagi ada sedikit kendala nih di sistem Odoo ERP yang kami pakai. Beberapa hari ini sering muncul notifikasi error yang kadang nggak terlalu jelas pesannya, atau ada proses transaksi yang tiba-tiba berhenti tanpa sebab yang jelas. Saya mau coba cek lebih dalam lewat log Odoo-nya, biar tahu akar masalahnya ada di mana. Kira-kira teman-teman ada rekomendasi atau panduan step-by-step nggak ya, bagaimana cara efektif untuk mengecek error log di Odoo?
Terutama yang ingin saya tanyakan:
1. Biasanya file log Odoo itu lokasinya di mana saja ya di server kami yang pakai Linux (deployment on-premise)?
2. Ada tools atau perintah khusus (misalnya lewat terminal) yang biasa dipakai buat menganalisis log tersebut biar lebih mudah dibaca dan cepat ketemu masalahnya?
3. Apa saja sih pattern atau keyword yang sering dicari di log untuk mengidentifikasi jenis error tertentu?
4. Apakah ada cara untuk mengkonfigurasi level logging Odoo agar error-nya terekam lebih detail?
Kami pakai Odoo versi 16 Community. Mohon pencerahannya ya teman-teman. Terima kasih banyak sebelumnya!
Admin Odoo ForumAdmin & AI Support20 Apr 2026, 00:42
Halo Mas Ridwan, salam kenal juga dari kami di komunitas Odoo Indonesia! Wah, saya ikut prihatin nih mendengar kendala yang sedang Mas alami. Notifikasi error yang kurang jelas atau proses transaksi yang tiba-tiba berhenti memang bikin pusing ya. Nggak masalah, langkah Mas untuk langsung cek log itu sudah tepat banget. Log ini ibarat buku harian sistem, isinya penting untuk kita lacak akar masalahnya.
Yuk, kita bedah bareng cara efektif mengecek error log di Odoo versi 16 Community yang on-premise di Linux.
### 1. Lokasi File Log Odoo di Server Linux
Untuk deployment Odoo on-premise di Linux, file log Odoo biasanya berada di lokasi-lokasi berikut, tergantung cara instalasinya:
Lokasi Default Instalasi dari Source atau Paket Official:
Biasanya Odoo akan menyimpan file log di dalam direktori `~/odoo-server/var/log/odoo/odoo-server.log` atau `~/odoo-server/log/odoo/odoo-server.log` jika Anda menginstal dari source atau menggunakan script instalasi tertentu.
Lokasi Default Jika Menggunakan User `odoo`:
Jika Odoo dijalankan sebagai user `odoo`, maka log file seringkali ditemukan di `/var/log/odoo/odoo-server.log`. Ini adalah lokasi yang paling umum dan direkomendasikan jika Odoo dijalankan sebagai service sistem.
Jika Menggunakan Systemd:
Bila Odoo dijalankan sebagai service dengan `systemd` (yang paling umum di Linux modern), output log juga bisa langsung diakses melalui `journalctl`. Ini akan saya bahas di poin berikutnya.
Lokasi Kustom:
Perlu diingat, lokasi ini bisa diubah di file konfigurasi Odoo (`odoo.conf`). Coba cek file konfigurasi Odoo Mas untuk memastikan path yang benar. File ini umumnya ada di `/etc/odoo/odoo.conf` atau di direktori instalasi Odoo (`~/odoo-server/odoo.conf`). Di dalamnya akan ada parameter `logfile`.
### 2. Tools atau Perintah Khusus untuk Menganalisis Log
Untuk membaca dan menganalisis log, kita bisa memanfaatkan beberapa perintah dasar di terminal Linux yang sangat powerful:
Melihat Log Secara Real-time (Live):
Gunakan perintah `tail -f /path/to/odoo-server.log`. Perintah ini akan menampilkan baris-baris terakhir dari file log dan terus mengikuti (follow) setiap baris baru yang ditambahkan ke file. Ini sangat berguna saat Anda mencoba mereplikasi error atau melakukan transaksi, sehingga Anda bisa langsung melihat apa yang terjadi di belakang layar.
Mencari Keyword Tertentu (Filter):
Perintah `grep` sangat efektif untuk mencari kata kunci atau pola tertentu. Contoh:
`grep "ERROR" /path/to/odoo-server.log`: Mencari semua baris yang mengandung kata "ERROR".
`grep -i "Traceback" /path/to/odoo-server.log`: Mencari kata "Traceback" tanpa membedakan huruf besar/kecil.
Anda juga bisa menggabungkan `tail` dan `grep` untuk monitoring real-time yang difilter: `tail -f /path/to/odoo-server.log | grep "ERROR"`.
Melihat Keseluruhan File (Paginated):
Jika file log sangat besar, gunakan `less /path/to/odoo-server.log`. Ini akan membuka file dalam mode paginated, memungkinkan Anda menggulir ke atas/bawah, mencari (ketik `/` lalu keyword), dan keluar dengan `q`.
Menggunakan `journalctl` (Jika Odoo Dijalankan dengan Systemd):
Jika Odoo dijalankan sebagai service `systemd` (misalnya `odoo.service`), Anda bisa melihat log-nya langsung dengan:
`journalctl -u odoo.service`: Menampilkan semua log dari service Odoo.
`journalctl -u odoo.service -f`: Menampilkan log secara real-time seperti `tail -f`.
`journalctl -u odoo.service --since "1 hour ago"`: Menampilkan log dari satu jam terakhir.
### 3. Pattern atau Keyword yang Sering Dicari untuk Mengidentifikasi Error
Saat menganalisis log, beberapa kata kunci atau pola (pattern) ini sangat sering menjadi petunjuk adanya masalah:
`ERROR` atau `CRITICAL`: Ini adalah level logging tertinggi yang jelas menunjukkan ada masalah serius yang perlu ditangani.
`WARNING`: Menunjukkan adanya potensi masalah atau kondisi yang tidak ideal, meskipun mungkin tidak langsung menghentikan proses. Penting untuk diperhatikan karena bisa jadi indikator masalah di masa depan.
`Traceback` atau `Exception`: Ini adalah indikator paling jelas dari sebuah error atau bug di kode Odoo atau modul kustom. Traceback akan menunjukkan urutan pemanggilan fungsi hingga error terjadi, sangat membantu untuk menelusuri lokasi kode yang bermasalah.
`psycopg2.errors` atau `OperationalError`: Sering muncul jika ada masalah koneksi ke database PostgreSQL, query yang salah, atau isu izin akses database.
`Permission denied`: Menunjukkan Odoo tidak memiliki izin untuk mengakses file, direktori, atau resource lain di sistem operasi.
`Missing record` atau `Record not found`: Bisa jadi data yang dicari tidak ada di database, mungkin karena salah ID atau data terhapus.
`Bad request` atau `HTTP error`: Sering terkait dengan masalah komunikasi web, misalnya ketika ada modul eksternal mencoba berinteraksi dengan Odoo.
### 4. Mengkonfigurasi Level Logging Odoo Agar Error Terekam Lebih Detail
Tentu saja, Mas Ridwan! Anda bisa mengubah level logging Odoo melalui file konfigurasi Odoo. Ini penting untuk mendapatkan detail yang lebih kaya saat proses debugging.
1. Temukan File Konfigurasi Odoo:
Seperti yang disebutkan sebelumnya, biasanya di `/etc/odoo/odoo.conf` atau di direktori instalasi Odoo.
2. Edit Parameter `log_level`:
Buka file konfigurasi tersebut dengan editor teks (misalnya `nano` atau `vi`):
`sudo nano /etc/odoo/odoo.conf`
Cari baris yang mengandung `log_level` atau tambahkan jika belum ada. Ubah nilainya menjadi:
`log_level = debug`
Berikut adalah level logging yang umum digunakan (dari yang paling sedikit detail hingga paling detail):
`error`: Hanya akan mencatat pesan error dan critical.
`warn`: Mencatat warning, error, dan critical.
`info` (default): Mencatat informasi umum, warning, error, dan critical. Ini adalah level yang cukup seimbang untuk produksi.
`debug`: Mencatat semua detail, termasuk panggilan fungsi, nilai variabel, query database, dan lain-lain. Sangat berguna untuk debugging.
`debug_rpc`: Mirip `debug`, tapi lebih fokus pada log panggilan RPC (Remote Procedure Call).
`debug_sql`: Mencatat setiap query SQL yang dieksekusi oleh Odoo.
3. Restart Layanan Odoo:
Setelah mengubah file konfigurasi, Anda harus merestart layanan Odoo agar perubahan diterapkan:
`sudo systemctl restart odoo.service` (sesuaikan nama service Odoo Anda jika berbeda)
PENTING: Mengatur `log_level = debug` akan menghasilkan file log yang sangat besar dan cepat memenuhi ruang disk, serta berpotensi sedikit memengaruhi performa karena banyak operasi I/O (Input/Output). Sebaiknya gunakan `debug` hanya saat debugging aktif, dan kembalikan ke `info` atau `warn` setelah masalah teridentifikasi untuk deployment produksi.
Semoga panduan ini bisa memberikan pencerahan dan membantu Mas Ridwan untuk melacak serta menyelesaikan kendala di sistem Odoo-nya ya. Jangan ragu bertanya lagi kalau ada yang kurang jelas atau butuh eksplorasi lebih lanjut. Semangat debugging-nya, Mas!