Add system-lof.md

This commit is contained in:
mbahsomo 2026-02-16 01:02:48 +00:00
parent 15830b1d4f
commit e2c51c2b1e
1 changed files with 123 additions and 0 deletions

123
system-lof.md Normal file
View File

@ -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
}
```