* convenio nix para almacenar registros de usuarios

10

¿Qué es una ubicación de registro convencional para procesos que se ejecutan en nombre de los usuarios?

  • ~/.foo/logs/ - mi mejor opción pero no súper increíble

  • /var/log/foo.uid/ - Los usuarios que no son del sistema no pueden crear directorios aquí, necesitan cooperación para crear en primer lugar.

  • Un archivo común en /var/log/(p /var/log/foo.log. Ej. ) - No privado

  • etc.

s4y
fuente

Respuestas:

5

Sugeriría ir /var/log/foo.uid/, porque /var/log/es mi primer lugar al que ir cuando busco registros en un servidor.

Otra opción es usar su primera opción ~/.foo/logs/, y crear un enlace simbólico debajo /var/log.

pkhamre
fuente
En realidad, me refería a la ID de usuario, no a PID (es decir, más de un usuario puede estar ejecutando un programa al mismo tiempo y todos necesitan sus propias ubicaciones de registro).
s4y
Oh! Mi error, todavía es un poco temprano un lunes por la mañana. Entonces tiene sentido agregar uido el nombre de usuario.
pkhamre
3

Si bien /var/loges el lugar canónico para buscar registros, como señala @pkhamre, no veo la necesidad de contaminar la carpeta con registros generados por el "usuario". Preferiría solo los servicios de todo el sistema para iniciar sesión /var/log.

Dicho esto, si la aplicación es una aplicación GUI (que se ejecuta en X), sugeriría seguir la Especificación del directorio base de XDG y colocar los registros $XDG_DATA_HOME/foo/log/con el valor $XDG_DATA_HOMEpredeterminado $HOME/.local/share. Sin embargo, esto tiene un inconveniente. Debe trabajar más duro si desea agregar los registros por alguna razón, con la solución anterior a cat /var/log/foo.*/*habría sido suficiente.

zhenech
fuente
3

Como /var/loglos usuarios no pueden escribir y si no desea mantener los registros en sus respectivos directorios de inicio, sugeriría utilizar los /var/tmp/foo.logs.uidque los usuarios puedan escribir y centralizar.

jlliagre
fuente