Untuk menambahkan **error log** pada service `systemd`, gunakan directive berikut di bagian `[Service]`: * `StandardOutput=` → log output normal * `StandardError=` → log error * arahkan ke file dengan `append:` atau `file:` 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: ```bash 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: ```bash sudo chown root:root /var/log/delamonganpasarapi*.log ``` --- ## Reload dan restart service Setelah edit file service: ```bash 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 } ```