ดูเหมือนว่าเป็นไปไม่ได้และไม่ต้องการโดย upstream (การเปลี่ยนเส้นทาง stdout / stderr ไปยังแต่ละไฟล์) ดูเช่นhttp://lists.freedesktop.org/archives/systemd-devel/2012-March/004705.html - อ่านทั้งเธรดสำหรับข้อมูลเพิ่มเติม ข้อมูลบริบทว่าสิ่งนี้มีจุดประสงค์ในการทำงานอย่างไร
สิ่งที่คุณสามารถทำได้คือล็อกเข้าสู่ syslog และวิธีการเขียนไปยังไฟล์แต่ละไฟล์ หรืออีกทางหนึ่งหากหน่วยเรียกโปรแกรมบางอย่างที่สามารถเขียนบันทึกได้เองให้ใช้วิธีนั้นเพื่อบันทึกไฟล์
คุณอาจต้องการดูที่มุมมอง stdout / stderr ของบริการ systemd
สิ่งที่คุณสามารถทำได้กับการตั้งค่าปัจจุบันของคุณคือใช้
journalctl -u yourunitname > yourlogfile_for_yourunitname
เพื่อกำหนดเอาท์พุทเจอร์นัลทั้งหมดสำหรับหน่วย "yourunitname" ของคุณลงในไฟล์
ในส่วนหลังคุณควรดูคำแนะนำจาก Lennart จากหัวข้อรายการส่งเมล์ข้างต้น:
ในรุ่นล่าสุด systemd สิ่งที่systemd-journalctl -o cat
_SYSTEMD_UNIT=postgresql.service
ควรสร้างผลลัพธ์ที่ง่ายมากที่มีเพียงข้อความจริงและไม่มีอะไรอื่น คุณสามารถผ่าน "-f" และทำให้การแสดงสด "
แก้ไข: ที่
จริงแล้วสำหรับ systemd รุ่นใหม่คำสั่งเป็นเพียงjournalctlและจากสิ่งที่ฉันสามารถบอกได้คำสั่งยาวดังกล่าวข้างต้นเป็นเช่นเดียวกับjournalctl -u yourunitname
และคุณยังสามารถ-f
มี "ติดตาม" เอาท์พุท (เช่นใน tailf หรือ tail -f)