1.9 KiB
1.9 KiB
Untuk menambahkan error log pada service systemd, gunakan directive berikut di bagian [Service]:
StandardOutput=→ log output normalStandardError=→ log error- arahkan ke file dengan
append:ataufile:
Contoh lengkap:
[Unit]
Description=Aplikasi Pasar
[Service]
Type=simple
Restart=always
RestartSec=5s
User=root
WorkingDirectory=/home/api/
ExecStart=/home/api/delamonganpasarapi
# log output dan error ke file
StandardOutput=append:/var/log/delamonganpasarapi.log
StandardError=append:/var/log/delamonganpasarapi-error.log
# optional: buat identifier di journalctl
SyslogIdentifier=delamonganpasarapi
[Install]
WantedBy=multi-user.target
Buat file log dan set permission
Jalankan:
sudo touch /var/log/delamonganpasarapi.log
sudo touch /var/log/delamonganpasarapi-error.log
sudo chmod 644 /var/log/delamonganpasarapi*.log
Atau jika service jalan sebagai user tertentu:
sudo chown root:root /var/log/delamonganpasarapi*.log
Reload dan restart service
Setelah edit file service:
sudo systemctl daemon-reexec
sudo systemctl daemon-reload
sudo systemctl restart delamonganpasarapi
Cara melihat log
1. Dari file log
tail -f /var/log/delamonganpasarapi.log
tail -f /var/log/delamonganpasarapi-error.log
2. Dari journalctl (recommended)
journalctl -u delamonganpasarapi -f
atau
journalctl -u delamonganpasarapi -n 100
Best practice (recommended)
Sebenarnya systemd sudah menyimpan log otomatis, jadi cukup gunakan:
journalctl -u delamonganpasarapi
File log manual hanya diperlukan jika:
- ingin integrasi dengan logrotate
- ingin file log terpisah
- ingin dibaca aplikasi lain
Bonus: log rotation otomatis
Buat file:
sudo nano /etc/logrotate.d/delamonganpasarapi
isi:
/var/log/delamonganpasarapi*.log {
daily
rotate 14
compress
missingok
notifempty
copytruncate
}