Bagaimana cara melihat log lengkap dari layanan status systemctl?

347

Saya memeriksa status layanan dengan systemctl status service-name.

Secara default, saya melihat beberapa baris saja, jadi saya menambahkan -n50untuk melihat lebih banyak.

Terkadang, saya ingin melihat log lengkap, dari awal. Itu bisa memiliki 1000-an baris.
Sekarang, saya memeriksanya -n10000tetapi itu tidak terlihat seperti solusi yang rapi.

Apakah ada opsi untuk memeriksa log layanan penuh systemd mirip dengan lessperintah?

10robinho
sumber
1
Meskipun jawaban yang diterima tidak berguna bagi saya, saya tidak mengetahui -nbenderanya. Menambahkan -n99999sepertinya solusi yang dapat diterima bagi saya. Terima kasih telah mengarahkan saya ke arah yang benar :-)
tobixen

Jawaban:

488

Cukup gunakan journalctlperintah, seperti pada:

journalctl -u service-name.service

Atau, untuk melihat hanya pesan log untuk boot saat ini:

journalctl -u service-name.service -b

Untuk hal-hal yang disebutkan <something>.service, Anda sebenarnya bisa menggunakan <something>, seperti pada:

journalctl -u service-name

Tetapi untuk jenis unit lainnya (soket, target, timer, dll), Anda harus eksplisit.

Pada perintah di atas, -ubendera adalah kependekan dari --unit, dan menentukan nama unit yang Anda minati. -badalah kependekan dari --boot, dan membatasi output hanya untuk boot saat ini sehingga Anda tidak melihat banyak pesan lama. Lihat halaman man jurnalctl untuk informasi lebih lanjut.

larsks
sumber
28
menambahkan --no-pagerakan mencetak log lengkap, sehingga Anda tidak perlu menggulir
Dushyant Bangal
38
menambahkan -eakan memulai log pada akhirnya menghapus kebutuhan untuk menggulir, tetapi tanpa mencetak seluruh log sebelumnya.
timlyo
58
menambahkan -fakan mengikuti (mencetak) pembaruan ke log
Joe J
22
menambahkan --helpakan memungkinkan Anda melihat semua opsi yang tersedia
Tzafrir
Apakah log ini disimpan di suatu tempat di disk?
viveksinghggits
25

systemctldapat menyertakan output lengkap dari daftar statusnya, tanpa pemotongan., dengan menambahkan -lbendera:

systemctl -l status service-name

-l: jangan potong entri dengan elips (...)

--no-pager dapat ditambahkan untuk menghindari memanggil pager ketika output adalah terminal interaktif.

Julien
sumber
7
Bisakah Anda menjelaskan jawaban Anda entah bagaimana? Menambahkan beberapa penjelasan tentang opsi, dan jangan ragu untuk memformat jawaban Anda!
joH1
7
Jawaban ini salah. Outputnya tetap terpotong.
phil294