# Pengaturan penyimpanan log layanan

Secara default, penyimpanan log dikonfigurasi sebagai berikut:

* Log disimpan di `/log` subdirektori di dalam direktori masing-masing layanan backend.
* Log disimpan sebagai file teks biasa.
* Log disimpan selama satu minggu, kemudian diputar dan yang lama dihapus.

Ketiga layanan Java backend memiliki log masing-masing. Parameter di atas dapat diubah jika diperlukan. Mereka diatur dalam **logback.xml** file setiap layanan. Anda dapat menemukan file ini di dalam `conf` direktori layanan:

* Linux: `/home/java/{service-name}/conf/logback.xml`
* Windows: `C:\java\{service-name}\conf\logback.xml`

Karena file seperti itu terdapat di masing-masing direktori layanan, pengaturan di bawah harus diterapkan secara terpisah untuk setiap file.

{% hint style="info" %}
Pengaturan dapat diterapkan secara individual atau dalam kombinasi apa pun. Pilih pengaturan yang diinginkan sesuai tujuan Anda.
{% endhint %}

## Lokasi log

Secara default, log disimpan di folder layanan dalam subdirektori log, tetapi mungkin Anda ingin menyimpannya secara terpisah di direktori kustom.

Untuk mengonfigurasi ini, buka **logback.xml** file dan temukan baris berikut:

```
<file>log/log.txt</file>

<fileNamePattern>log/log.%d{yyyy-MM-dd}.log</fileNamePattern>
```

Ubah `log/` entri menjadi path absolut ke direktori log kustom Anda.

Sebagai contoh, jika direktori adalah `/my/directory/for/logs/`, maka baris-baris harus terlihat seperti ini:

```
<file>/my/directory/for/logs/log.txt</file>

<fileNamePattern>/my/directory/for/logs/log.%d{yyyy-MM-dd}.log</fileNamePattern>
```

Simpan file dan restart platform untuk menerapkan perubahan. Mulai sekarang, log akan direkam ke direktori kustom tersebut.

### Link simbolik

Pada sistem Linux, ada cara alternatif untuk menyimpan log di direktori kustom. Alih-alih mengubah konfigurasi layanan, Anda dapat membuat link simbolik ke direktori kustom yang diinginkan. Begini caranya:

1. Hentikan layanan Navixy.
2. Buat subdirektori baru di direktori kustom baru Anda (mis.  `/my/directory/for/logs/`):

```
mkdir -p /my/directory/for/logs/api-server/log
mkdir -p /my/directory/for/logs/sms-server/log
mkdir -p /my/directory/for/logs/tcp-server/log
```

3. Pindahkan log layanan yang ada ke direktori baru Anda:

```
mv /home/java/api-server/log/* /my/directory/for/logs/api-server/log/
mv /home/java/sms-server/log/* /my/directory/for/logs/sms-server/log/
mv /home/java/tcp-server/log/* /my/directory/for/logs/tcp-server/log/
```

4. Hapus direktori lama:

```
rmdir /home/java/api-server/log
rmdir /home/java/sms-server/log
rmdir /home/java/tcp-server/log
```

5. Buat link simbolik:

```
ln -s /my/directory/for/logs/api-server/log /home/java/api-server/log
ln -s /my/directory/for/logs/sms-server/log /home/java/sms-server/log
ln -s /my/directory/for/logs/tcp-server/log /home/java/tcp-server/log
```

6. Restart layanan.

Setelah ini dilakukan, log akan direkam ke direktori kustom baru Anda.

## Pengarsipan log

Pada instance dengan jumlah perangkat besar (ketika ada lebih dari beberapa ribu), log layanan backend dapat menempati jumlah ruang disk yang signifikan. Mengarsipkan log dari hari-hari sebelumnya bisa menjadi solusi yang baik untuk menghemat ruang disk.

Temukan baris berikut di **logback.xml** file:

```
<fileNamePattern>log/log.%d{yyyy-MM-dd}.log</fileNamePattern>
```

Tambahkan `.gz` setelah `log`, sehingga baris terlihat seperti ini:

```
<fileNamePattern>log/log.%d{yyyy-MM-dd}.log.gz</fileNamePattern>
```

Simpan file dan restart platform untuk menerapkan perubahan. Sekarang, file log untuk hari-hari sebelumnya akan dikompresi menjadi `.gz` arsip, mengonsumsi jauh lebih sedikit ruang disk dibandingkan file teks biasa. Namun, `log.txt` file hari ini akan tetap tidak terkompresi karena terus diisi oleh platform.

## Masa simpan log

Masa simpan default log adalah 7 hari. Dalam kebanyakan kasus ini sudah cukup untuk pemecahan masalah apa pun. Namun, Anda mungkin ingin menyimpan log untuk periode yang lebih lama atau, sebaliknya, memperpendeknya. Ingat: semakin lama log disimpan, semakin banyak ruang disk yang dikonsumsi, jadi atur nilai ini dengan hati-hati.

Untuk mengubah masa simpan log, temukan baris berikut di **logback.xml** file:

```
<maxHistory>7</maxHistory>
```

Ubah `7` menjadi nilai yang diinginkan (dalam hari).

Simpan file dan restart platform untuk menerapkan perubahan.
