Куда класть логи своего приложения в Linux?

Появилась необходимость складирования логов приложения, точнее лог файл один. Подскажите, пожалуйста, куда в Linux принято складывать log файлы? Так, чтобы пользователь ожидал их именно там. Может есть какой-то guide по расположению данных приложения ы Linux? Был бы благодарен за ссылки.

Я пытался положить лог в /var/log но получил пинок от ACL, собственно w туда простому смертному запрещен.


Заранее спасибо!
  • Вопрос задан
  • 6195 просмотров
Решения вопроса 1
shadowalone
@shadowalone
При установке пакета своего приложение, пусть создается папка /var/log/your_apps с соответствующими разрешениями, в эту папку и складывайте логи.
по-моему путь для логов, в данном случае, белее чем очевиден.
Так поступают многие приложения.
Ответ написан
Пригласить эксперта
Ответы на вопрос 5
merlin-vrn
@merlin-vrn
Писать в syslog. #include <syslog.h>
Ответ написан
@holivar
В линуксе принято, что расположение лог файла может задаваться пользователем, а стандартное расположение логов зависит от дистрибутива.

В разных дистрибутивах, когда пользователь устанавливает пакет через менеджер типа yum или apt-get, он делает это с правами рута и писать может только в свой файл, созданный менеджером. Поэтому лучший способ по умолчанию все логи, исполняемые файлы и т.д. — складывать в одну папку, но дать возможность все пути настраивать, чтобы ответственность брал на себя пользователь/менеджер пакетов, иначе у разных пользователей ваше приложение просто не будет работать
Ответ написан
Мне нравится такая практика по умолчанию:
— если приложение устанавливается в /usr (или другой системный каталог), то логи пишутся в /var/log (для установки в /usr нужны права рута, потому создать и настроить права для записи в /var/log проблемы быть не должно — можно открыть запись для всех, можно создать группу, в которую заносить пользователей имеющих право запуска)
— если приложение устанавливается в ~, то логи пишутся в ~/./log

Вариант вывода логов по умолчанию в stdout для «демонообразных» приложений как-то раздражает.
Ответ написан
fun
@fun
/etc/temp/%appname%/log
Ответ написан
@selenite
Главное, не сделайте очередное поделие, которое будет замусоривать /etc || /tmp дистрибутива А в разы сильнее, чем Б.

./configure --prefix=/opt/myapp должно автоматически означать, что конфиги в /opt/myapp/etc/, логи в /opt/myapp/log/, без указания этих путей в конфиге (путь к которому указывается как /opt/myapp/bin/myapp -f /opt/myapp/etc/my.cfg).
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы