From e2c51c2b1ed0f9c262ac44dddf65b0575a368059 Mon Sep 17 00:00:00 2001 From: mbahsomo Date: Mon, 16 Feb 2026 01:02:48 +0000 Subject: [PATCH] Add system-lof.md --- system-lof.md | 123 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 system-lof.md diff --git a/system-lof.md b/system-lof.md new file mode 100644 index 0000000..c3d3947 --- /dev/null +++ b/system-lof.md @@ -0,0 +1,123 @@ +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 +} +``` +