O que é um local de log convencional para processos executados em nome dos usuários?
~/.foo/logs/
- minha melhor escolha, mas não super incrível/var/log/foo.uid/
- Usuários não pertencentes ao sistema não podem criar diretórios aqui, precisam de cooperação para criar em primeiro lugar.Um arquivo comum em
/var/log/
(por exemplo/var/log/foo.log
) - Não é privadoetc.
uid
nome de usuário ou.Embora
/var/log
seja o local canônico para procurar logs, como aponta @pkhamre, não vejo a necessidade de poluir a pasta com logs gerados por "usuário". Eu preferiria apenas serviços em todo o sistema para fazer logon/var/log
.Dito isso, se o aplicativo for um aplicativo GUI (executando no X), sugiro seguir a Especificação do diretório base do XDG e soltar os logs
$XDG_DATA_HOME/foo/log/
com o$XDG_DATA_HOME
padrão para$HOME/.local/share
. Isso tem uma desvantagem, no entanto. Você precisará trabalhar mais se quiser agregar os logs por algum motivo - com a solução anterior, issocat /var/log/foo.*/*
seria suficiente.fonte
Como
/var/log
não é gravável pelos usuários e se você não deseja manter os logs em seus respectivos diretórios pessoais, sugiro usar/var/tmp/foo.logs.uid
quais seriam graváveis pelos usuários e centralizados.fonte