คุณสามารถใช้เวลามากเกินไปในการแก้ไขปัญหานี้ได้
สำหรับภาษาที่มีการใช้งานการบันทึกแบบ canonical เพียงสร้างอินสแตนซ์ตัวบันทึกแบบ canonical โดยตรงในทุกชั้นเรียน
สำหรับภาษาที่ไม่มีการใช้งานแบบบัญญัติให้ลองค้นหาโครงร่างซุ้มการบันทึกและดำเนินการ slf4jเป็นตัวเลือกที่ดีใน Java
โดยส่วนตัวแล้วฉันอยากจะใช้การบันทึกที่เป็นรูปธรรมเดียวและส่งทุกอย่างไปยัง syslog เครื่องมือวิเคราะห์บันทึกที่ดีทั้งหมดมีความสามารถในการรวมบันทึก sysout จากเซิร์ฟเวอร์แอพหลายตัวเป็นรายงานที่ครอบคลุม
เมื่อลายเซ็นของฟังก์ชั่นมีบริการอ้างอิงหนึ่งหรือสองบริการเช่นเดียวกับข้อโต้แย้ง "ของจริง" บางอย่างฉันจะทำการอ้างอิงล่าสุด:
int calculateFooBarSum(int foo, int bar, IntegerSummationService svc)
เนื่องจากระบบของฉันมักจะมีเพียงห้าหรือน้อยกว่าบริการดังกล่าวฉันมักจะตรวจสอบให้แน่ใจว่าบริการที่รวมอยู่ในลำดับเดียวกันในลายเซ็นฟังก์ชั่นทั้งหมด ลำดับตัวอักษรดีเท่า ๆ กัน (นอกเหนือจาก: การคงไว้ซึ่งระเบียบวิธีการนี้สำหรับการจัดการ mutex จะช่วยลดโอกาสในการพัฒนาการหยุดชะงักของคุณ)
หากคุณพบว่าตัวเองฉีดมากกว่าหนึ่งโหลหรือมากกว่านั้นขึ้นอยู่กับแอพของคุณระบบอาจจะต้องแยกออกเป็นระบบย่อยที่แยกจากกัน