mbahsomo-note/system-lof.md

1.9 KiB

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:

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
journalctl -u delamonganpasarapi -f

atau

journalctl -u delamonganpasarapi -n 100

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
}