Kuyruk ve gazeteciğin birleştirilmesi


27

Kendi uygulamam ve kayıt defterimin kayıtlarını veriyorum.

tail -f /tmp/myapp.log /var/log/postgresql/postgresql.main.log

Pgpool'un kayıtlarını eklemem gerekiyor. Eskiden syslog olmaktaydı ama şimdi journalctl'de.

-F && journalctl -f kuyruklarını birlikte bağlamanın bir yolu var mı?

Yanıtlar:


27

Kullanabilirsin:

journalctl -u service-name -f

-f, --follow

Yalnızca en son günlük girişlerini göster ve sürekli olarak yeni girişleri dergiye eklendiklerinde yazdır.

İşte bu cevabı diğerlerinden ayırmak için "hizmet adı" ekledim; metin yerine fiili hizmet adı yerine service-name.


20

Sen olabilir için günlük girişlerini iletmek dergi :

systemd-cat tail -f /tmp/myapp.log /var/log/postgresql.log

ve daha sonra journalctl -f... Mark'ın da belirtildiği gibi, günlük girişlerini basacak şekilde kullanın.


Yalnızca bu günlüklerden ve o belirli birimden gelen mesajları filtrelemenin bir yolu, farklı bir SYSLOG_IDENTIFIERyani birim dosyasını düzenlemek ve [Service]örneğin

SyslogIdentifier=my_stuff

üniteyi yeniden başlatın ve systemd-cataynı tanımlayıcı ile çalıştırın

systemd-cat -t my_stuff tail -f /tmp/myapp.log /var/log/postgresql.log

ve son olarak günlüğü yalnızca o belirli tanımlayıcı için sorgula

journalctl -f -t my_stuff

4

Kullanılabilir bash değeriniz varsa, işlem değiştirmeyitail parametrelerden biri olarak kullanabilirsiniz :

tail -f /tmp/myapp.log /var/log/postgresql/postgresql.main.log <(journalctl -f)

Bu da denedim zarif yol, ama işe yaramaz. Kuyruk / dev / fd / xx kullandığını gösterir, ancak hiçbir kütük gösterilmez.
bikey

doğru; / dev / fd / xxx, işlem ikamesini uygulamak için bash'ın kullandığı geçici borudır; herhangi bir journalctl çıktısı orada görünecek.
Jeff Schaller

5
Muhtemelen bütün günlüğü takip etmek istemezsiniz ama sadece pgpool ünitesindekileri takip etmek istersiniz. Adında servis varsayarak pgpool.service, deneyin journalctl -fu pgpool.service. Ayrıca, bunu root olarak çalıştırmıyorsanız, kullanıcının systemd-journalgrupta olduğundan emin olun !
Mark Stosberg

1

gibi bir şey deneyin:

tail -f /tmp/myapp.log >> /tmp/tail.log &
journalctl -f >> /tmp/tail.log &
tail -f /tmp/tail.log
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.