* Konvensi nix untuk menyimpan log pengguna?

10

Apa itu lokasi log konvensional untuk proses yang berjalan atas nama pengguna?

  • ~/.foo/logs/ - Pilihan utama saya tetapi tidak super luar biasa

  • /var/log/foo.uid/ - Pengguna non-sistem tidak dapat membuat direktori di sini, perlu kerjasama untuk membuat di tempat pertama.

  • File umum di /var/log/(mis. /var/log/foo.log) - Tidak pribadi

  • dll.

s4y
sumber

Jawaban:

5

Saya akan menyarankan pergi /var/log/foo.uid/, karena /var/log/masuk pertama saya ke tempat ketika mencari log di server.

Opsi lain adalah menggunakan pilihan pertama Anda ~/.foo/logs/,, dan membuat symlink di bawahnya /var/log.

pkhamre
sumber
Sebenarnya saya maksudkan ID pengguna, bukan PID (yaitu lebih dari satu pengguna dapat menjalankan program pada saat yang sama dan mereka semua membutuhkan lokasi log mereka sendiri).
s4y
Oh! Kesalahan saya, ini masih terlalu dini pagi hari Senin. Maka masuk akal untuk menambahkan uidatau nama pengguna.
pkhamre
3

Meskipun /var/logmerupakan tempat kanonik untuk mencari log, seperti yang ditunjukkan oleh @pkhamre, saya tidak melihat perlunya mencemari folder dengan log yang dibuat oleh "pengguna". Saya lebih suka hanya layanan seluruh sistem untuk login /var/log.

Yang mengatakan, jika aplikasi adalah aplikasi GUI (berjalan di X), saya akan menyarankan mengikuti Spesifikasi Direktori Dasar XDG dan drop log ke $XDG_DATA_HOME/foo/log/dengan $XDG_DATA_HOMEdefault ke $HOME/.local/share. Ini memiliki satu kelemahan. Anda perlu bekerja lebih keras jika Anda ingin mengumpulkan log karena suatu alasan - dengan solusi sebelumnya cat /var/log/foo.*/*sudah cukup.

zhenech
sumber
3

Karena /var/logtidak dapat ditulis oleh pengguna dan jika Anda tidak ingin menyimpan log di bawah direktori home masing-masing, saya sarankan menggunakan /var/tmp/foo.logs.uidyang dapat ditulis oleh pengguna dan terpusat.

Jlliagre
sumber