* quy ước nix để lưu trữ nhật ký người dùng?


10

Vị trí nhật ký thông thường cho các quy trình chạy thay mặt người dùng là gì?

  • ~/.foo/logs/ - lựa chọn hàng đầu của tôi nhưng không siêu tuyệt vời

  • /var/log/foo.uid/ - Người dùng không có hệ thống không thể tạo thư mục ở đây, cần hợp tác để tạo ngay từ đầu.

  • Một tệp chung trong /var/log/(ví dụ /var/log/foo.log) - Không riêng tư

  • Vân vân.

Câu trả lời:


5

Tôi sẽ đề nghị đi /var/log/foo.uid/, bởi vì đây /var/log/là nơi đầu tiên của tôi khi tìm kiếm nhật ký trên máy chủ.

Một tùy chọn khác là sử dụng lựa chọn đầu tiên của bạn ~/.foo/logs/và tạo liên kết tượng trưng cho nó /var/log.


Tôi thực sự có nghĩa là ID người dùng, không phải là PID (tức là nhiều người dùng có thể đang chạy một chương trình cùng một lúc và tất cả họ đều cần vị trí nhật ký của riêng họ).
s4y

Oh! Sai lầm của tôi, vẫn còn quá sớm một buổi sáng thứ hai. Sau đó, nó có ý nghĩa để thêm uidhoặc tên người dùng.
pkhamre

3

Mặc dù /var/loglà nơi hợp quy để tìm nhật ký, như @pkhamre chỉ ra, tôi không thấy cần phải làm ô nhiễm thư mục với nhật ký được tạo bởi "người dùng". Tôi chỉ muốn các dịch vụ toàn hệ thống để đăng nhập /var/log.

Điều đó nói rằng, nếu ứng dụng là một ứng dụng GUI (chạy trong X), tôi sẽ đề nghị sau khi XDG cơ sở mục Specification và thả các bản ghi vào $XDG_DATA_HOME/foo/log/với $XDG_DATA_HOMEmặc định cho $HOME/.local/share. Điều này có một nhược điểm, mặc dù. Bạn cần phải làm việc chăm chỉ hơn nếu bạn muốn tổng hợp các bản ghi vì một số lý do - với giải pháp trước đó cat /var/log/foo.*/*là đủ.


3

/var/logngười dùng không thể ghi được và nếu bạn không muốn giữ nhật ký trong các thư mục nhà tương ứng của họ, tôi sẽ đề xuất sử dụng /var/tmp/foo.logs.uidnhững gì có thể ghi được bởi người dùng và tập trung.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.