`Logger` mesajlarını Arch Linux'ta nereye kaydeder?


18

loggerKomut genellikle gibi bazı dosyaya o çizgiyi koyar syslog üzerinden bir girdi, kaydeder /var/log/messages.

Ben anlamak belgelerine Arch Linux doğru tüm günlük systemd aracılığıyla yapılır ama bulamıyorum loggerkullanarak girdileri journalctl.

  • loggerArch Linux'ta verilen bir mesajla tam olarak ne olur ?
  • Günlük girişi nerede saklanır? (Hızlı bir grep önerir /var/log/journal/*/system.journal.)
  • Bu günlüğe nasıl erişebilirim? (Bunun için özel bir seçeneğe ihtiyacım var journalctlmı?)

Yanıtlar:


15

Günlük iletileri günlükte hiçbir yerde görünmediğinden, dergi yönlendirme için doğru ayarlanmış sistem günlüğünüzün olmadığından ve iletilerin basitçe düştüğünden şüpheleniyorum. Arch'da bulunduğunuz için, bu sorunu düzeltmek kolaydır. syslog-ngPaketin kurulu olduğundan emin olun :

pacman -S syslog-ng

Ardından, önyüklemede etkinleştirildiğinden emin olun:

systemctl enable syslog-ng

Son olarak, hizmetlerin etkinleştirilmesi otomatik olarak başlatılmadığından, hizmeti başlatın:

systemctl start syslog-ng

Ayrıntılar için bu Arch Wiki sayfasına bakın.

İşte bu sorunun neden oluştuğuna dair bazı bilgiler:

Klasik sistem günlüğüne giriş yapmanın belirli bir yolu vardır ve yeni systemd günlüğüne giriş yapmanın belirli bir yolu vardır. Bunlar uyumsuz; syslog'u destekleyen uygulamalar dergiyi desteklemek için sihirli bir şekilde yapılamaz - yazar bu özelliği açıkça uygulamalıdır. Systemd günlüğünü destekleyen uygulamalara genellikle bir systemd sisteminde çalışırken "yerel API" yı destekleme denir.

Sistem günlüğü API'si ve dergi API'si farklı olduğundan, dergi API'sini desteklemeyen uygulamalar yalnızca günlük iletilerini bırakır. Sizin durumunuzda olan buydu.

syslog-ngPaketin işi journald API çağrıları içine syslog API çağrıları çevirmektir. Bu şekilde, sistem günlüğü iletileri sonunda günlüğe kaydedilir.


syslog-ngyüklendi, ancak etkinleştirilmedi, derginin tamamen değiştirdiğini varsaydım. Mı loggersadece syslog konuşmak mümkün? O zaman Journalald'a giriş yapmanın doğru yolu nedir?
michas

@michas Umarım bunu açıklığa kavuşturacak bir bölüm ekledim
01:

"[..] syslog API çağrılarını dergi API çağrılarına çevirmek için" - Gördüğüm kadarıyla, çeviri sadece tam tersine çalışıyor: / var / log / içindeki tüm mesajları buluyorum ama sadece journalctl'deki dergi mesajlarını buluyorum.
michas

@michas derginin yaptığı bir şey olabilir, emin değilim. syslog-ngsyslog adresine gönderilen mesajları dergiye iletir.
14'te strugee

1
Does logger foobar;journalctl|grep foobarbir girdi, sistem listede?
michas

0

Bazı cinler /var/log/Arch Linux'ta günlükler yazmıyorlardı ve yapılandırması syslog-nggördüğüm diğer cevaplardan farklı.

Normal syslog-ng.servicehizmet orada değil, aslında syslog-ng@default.servicebunun yerine adlandırılmıştır .

Bu işe yaramaz:

# systemctl enable syslog-ng
Failed to enable unit: Unit file syslog-ng.service does not exist.

Arch Wiki'ye göre biraz farklı yapmalıyım :

# systemctl start syslog-ng@default.service
# systemctl enable syslog-ng@default.service
Created symlink /etc/systemd/system/multi-user.target.wants/syslog-ng@default.service → /usr/lib/systemd/system/syslog-ng@.service.
#
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.