Как получить логи для процесса-демона в Linux - PullRequest
0 голосов
/ 19 мая 2018

Я запустил процесс демона, как показано ниже:

./my-shell-script.sh -daemon other_params.cfg

Тогда все работает нормально, кроме ... Я попытался найти логи и не смог его найти ...

Я попытался проверить под /var/log/messages/ нет папки с именем messages.Все, что я могу видеть под /var/log, находится ниже:

drwxrwxr-x  8 root   syslog   4096 May 19 15:33 .
drwxr-xr-x 13 root   root     4096 May  9 02:00 ..
-rw-r--r--  1 root   root    16943 May 19 13:39 alternatives.log
drwxr-xr-x  2 root   root     4096 May 19 13:39 apt
-rw-r-----  1 syslog adm     19130 May 19 15:39 auth.log
drwxr-xr-x  3 root   root     4096 May 19 13:09 azure
-rw-------  1 root   utmp    11136 May 19 15:39 btmp
-rw-r--r--  1 root   root     8697 May 19 13:16 cloud-init-output.log
-rw-r--r--  1 syslog adm    264539 May 19 13:16 cloud-init.log
drwxr-xr-x  2 root   root     4096 Apr  9 14:01 dist-upgrade
-rw-r--r--  1 root   root   123627 May 19 13:39 dpkg.log
-rw-r--r--  1 root   root      511 May 19 13:31 fontconfig.log
-rw-r-----  1 syslog adm    182724 May 19 13:17 kern.log
-rw-rw-r--  1 root   utmp   292292 May 19 14:39 lastlog
drwxr-xr-x  2 root   root     4096 Oct 15  2017 lxd
drwxr-x---  2 root   adm      4096 Mar  6 15:43 samba
-rw-r-----  1 syslog adm    304816 May 19 15:26 syslog
drwxr-x---  2 root   adm      4096 May 19 13:02 unattended-upgrades
-rw-r--r--  1 root   root    18138 May 19 14:44 waagent.log
-rw-rw-r--  1 root   utmp    10368 May 19 14:39 wtmp

Кто-нибудь знает, где будут журналы?

Ответы [ 3 ]

0 голосов
/ 19 мая 2018

По умолчанию процессы в Linux не регистрируют свои выходные данные.(Ситуация может отличаться в других операционных системах, я не знаю о других операционных системах.)

Конечно, это бесполезно, поэтому на практике они, как правило, осуществляют ведение журналов, по крайней мере, по желанию.

Таким образом, вы должны реализовать ведение журнала самостоятельно.Есть два способа реализовать ведение журнала в процессе демона Linux: syslog - который не поддерживается Java - или просто создать файл и записать в него.Для последних профессиональные программисты обычно используют каркас журналирования, такой как log4j, logback или оболочку, например, slf4j.

0 голосов
/ 19 мая 2018

Если вы использовали nohup, чтобы сделать процесс процессом-демоном, журнал будет создан как постоянно растущий файл nohup.out - как показано в выводе nohup.

0 голосов
/ 19 мая 2018

Я полагаю, что вы можете использовать пакет rsyslog в Linux для этого, что полезно для записи всех видов журналов, которые генерируются различными компонентами системы Linux.

Внутри конфигурации вы можете раскомментировать нижеследующую строку,

daemon. * - / var / log / daemon.log

в /etc/rsyslog.d/50-default.conf Надеюсь, что это работает.

...