Add system-lof.md
This commit is contained in:
parent
15830b1d4f
commit
e2c51c2b1e
|
|
@ -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
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
Loading…
Reference in New Issue