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