ฉันจะส่งข้อความไปยังเจอร์นัล systemd จากบรรทัดคำสั่งได้อย่างไร


46

ในระบบ Linux รุ่นเก่าloggerสามารถใช้คำสั่งเพื่อส่งข้อความบันทึกไปยัง syslog

อ่านหนังสือที่ไม่loggerเข้าสู่ระบบข้อความใน Arch Linux? มันก็ดูเหมือนว่าsyslogข้อความและloggerแอปพลิเคบรรทัดคำสั่งเพียงพูดคุยกับsystemdวารสารถ้าซ็อกเก็ตสำหรับการส่งข้อความการตั้งค่า

ดังนั้นสิ่งที่เทียบเท่าทันสมัยของloggerคำสั่ง? ฉันจะส่งข้อความโดยตรงไปยัง systemd journal จากบรรทัดคำสั่งได้อย่างไร


นอกจากนี้เรายังสามารถกำหนดค่า rsyslog เพื่อใช้บันทึก journalctl เป็นอินพุตแล้วส่งออกไฟล์เหล่านี้เป็นไฟล์ผ่าน rsyslog
Luv33preet

คำตอบ:


59

systemd-cat เทียบเท่ากับคนตัดไม้:

echo 'hello' | systemd-cat

ในเทอร์มินัลอื่นให้รันjournalctl -f:

Feb 07 13:38:33 localhost.localdomain cat[15162]: hello

ลำดับความสำคัญถูกระบุเพียงส่วนหนึ่งของสตริง:

echo 'hello' | systemd-cat -p info
echo 'hello' | systemd-cat -p warning
echo 'hello' | systemd-cat -p emerg

คำเตือนเป็นตัวหนากรณีฉุกเฉินจะเป็นตัวหนาและสีแดง สิ่งที่น่ากลัว

นอกจากนี้คุณยังสามารถใช้ 'ตัวระบุ' ซึ่งเป็นกฎเกณฑ์เพื่อระบุชื่อแอป สิ่งเหล่านี้เป็นเหมือนสิ่งอำนวยความสะดวกเก่าของ syslog แต่คุณไม่ได้ติดอยู่กับสิ่งโบราณเช่นlpr uucp nntpหรือคำอธิบายที่local0ผ่านlocal7มา

echo 'hello' | systemd-cat -t someapp -p emerg

ถูกบันทึกเป็น:

Feb 07 13:48:56 localhost.localdomain someapp[15278]: hello

6
มีประโยชน์มาก. คุณสามารถกรองข้อความบันทึกที่สร้างขึ้น-tโดยใช้คำสั่งต่อไปนี้:journalctl -t someapp
Att Righ
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.