คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่เอกสารประกอบของ
Apigee X info
ลักษณะปัญหา
แอปพลิเคชันไคลเอ็นต์จะได้รับรหัสสถานะ HTTP 500 Internal Server Error พร้อม
รหัสข้อผิดพลาด protocol.http.EmptyPath เป็นการตอบกลับสำหรับการเรียก API
ข้อความแสดงข้อผิดพลาด
แอปพลิเคชันไคลเอ็นต์จะได้รับโค้ดตอบกลับต่อไปนี้
HTTP/1.1 500 Internal Server Error
นอกจากนี้ คุณอาจเห็นข้อความแสดงข้อผิดพลาดต่อไปนี้
{
"fault":{
"faultstring":"Request path cannot be empty",
"detail":{
"errorcode":"protocol.http.EmptyPath"
}
}
}สาเหตุที่เป็นไปได้
ข้อผิดพลาดนี้จะเกิดขึ้นหาก URL ของคำขอของเซิร์ฟเวอร์แบ็กเอนด์ซึ่งแสดงโดยตัวแปรโฟลว์
target.url มีเส้นทางว่างเปล่า
ตามข้อกำหนด RFC 3986 ส่วนที่ 3: องค์ประกอบไวยากรณ์ และ RFC 3986 ส่วนที่ 3.3: เส้นทาง:
ไวยากรณ์ URI มีคอมโพเนนต์ต่อไปนี้
foo://example.com:8042/over/there?name=ferret#nose \_/ \______________/\_________/ \_________/ \__/ | | | | | scheme authority path query fragment- คอมโพเนนต์
pathเป็นข้อกำหนดและต้องมีเครื่องหมายทับ (/) เสมอ แม้ว่าจะไม่มีอักขระอื่นๆ เป็นส่วนหนึ่งของเส้นทางก็ตาม
ดังนั้น หาก URL ของคำขอของเซิร์ฟเวอร์แบ็กเอนด์ไม่มีคอมโพเนนต์ path
เลย นั่นคือไม่มีแม้แต่เครื่องหมายทับ (/) Apigee
Edge จะตอบกลับด้วย 500 Internal Server Error และรหัสข้อผิดพลาด
protocol.http.EmptyPath
เช่น หาก target.url มีค่า
https://www.mocktarget.apigee.net ข้อผิดพลาดนี้จะเกิดขึ้นเนื่องจาก
คอมโพเนนต์ path ว่างเปล่าหรือไม่มี
| สาเหตุ | คำอธิบาย | วิธีการแก้ปัญหาที่ใช้ได้กับ |
|---|---|---|
| URL ของเซิร์ฟเวอร์แบ็กเอนด์ (target.url) มีเส้นทางว่าง | URL ของเซิร์ฟเวอร์แบ็กเอนด์ที่แสดงโดยตัวแปรโฟลว์ target.url มีเส้นทางว่างเปล่า |
ผู้ใช้ Edge Public และ Private Cloud |
ขั้นตอนการวินิจฉัยที่พบบ่อย
ใช้เครื่องมือ/เทคนิคอย่างใดอย่างหนึ่งต่อไปนี้เพื่อวินิจฉัยข้อผิดพลาดนี้
การตรวจสอบ API
ขั้นตอนที่ 1: การใช้การตรวจสอบ API
วิธีวินิจฉัยข้อผิดพลาดโดยใช้การตรวจสอบ API
- ลงชื่อเข้าใช้ UI ของ Apigee Edge ในฐานะผู้ใช้ที่มี บทบาทที่เหมาะสม
เปลี่ยนไปใช้องค์กรที่คุณต้องการตรวจสอบปัญหา

- ไปที่หน้าวิเคราะห์ > การตรวจสอบ API > ตรวจสอบ
- เลือกกรอบเวลาที่เฉพาะเจาะจงซึ่งคุณพบข้อผิดพลาด
พล็อตรหัสข้อบกพร่องเทียบกับเวลา
เลือกเซลล์ที่มีรหัสข้อบกพร่อง
protocol.http.EmptyPathดังที่แสดงด้านล่าง
ข้อมูลเกี่ยวกับรหัสข้อผิดพลาด
protocol.http.EmptyPathจะแสดงดังที่ แสดงด้านล่าง
คลิกดูบันทึก เพื่อขยายแถวของคำขอที่ไม่สำเร็จ
- จากหน้าต่างบันทึก ให้จดรายละเอียดต่อไปนี้
- รหัสสถานะ:
500 - แหล่งที่มาของข้อผิดพลาด:
target - รหัสข้อบกพร่อง:
protocol.http.EmptyPath
- รหัสสถานะ:
- หาก Fault Source คือ
targetและ Fault Code คือprotocol.http.EmptyPathแสดงว่า URL ของเซิร์ฟเวอร์แบ็กเอนด์มีเส้นทางว่างเปล่า
Trace
ขั้นตอนที่ 2: การใช้เครื่องมือติดตาม
วิธีวิเคราะห์ข้อผิดพลาดโดยใช้เครื่องมือติดตาม
- เปิดใช้เซสชันการติดตามและอย่างใดอย่างหนึ่งต่อไปนี้
- รอให้เกิดข้อผิดพลาด
500 Internal Server Errorหรือ - หากทำให้เกิดปัญหาซ้ำได้ ให้ทำการเรียก API เพื่อทำให้เกิดปัญหาซ้ำ
500 Internal Server Error
- รอให้เกิดข้อผิดพลาด
ตรวจสอบว่าได้เปิดใช้แสดง FlowInfo ทั้งหมดแล้ว
- เลือกคำขอที่ล้มเหลวรายการใดรายการหนึ่ง แล้วตรวจสอบการติดตาม
- ไปยังส่วนต่างๆ ของการติดตาม และค้นหาจุดที่เกิดข้อผิดพลาด
โดยปกติแล้ว คุณจะเห็นข้อผิดพลาดในโฟลว์หลังจากระยะเริ่มโฟลว์คำขอเป้าหมาย ดังที่แสดงด้านล่าง
จดค่าของข้อผิดพลาดจากร่องรอย
ข้อผิดพลาด: ต้องระบุเส้นทางคำขอ
เนื่องจาก Apigee Edge จะแสดงข้อผิดพลาดหลังจากระยะเริ่มโฟลว์คำขอเป้าหมาย ข้อผิดพลาดนี้จึงบ่งบอกว่า
pathใน URL ของเซิร์ฟเวอร์แบ็กเอนด์ว่างเปล่า กรณีนี้มักจะเกิดขึ้นหากตัวแปรโฟลว์target.url(ซึ่งแสดงถึง URL สำหรับเซิร์ฟเวอร์แบ็กเอนด์) อาจได้รับการอัปเดตด้วยเส้นทางที่ว่างเปล่าผ่านนโยบายใดนโยบายหนึ่งในโฟลว์คำขอ- ตรวจสอบส่วนอ่านและกำหนดตัวแปรในแต่ละโฟลว์ย้อนกลับจาก จุดเกิดข้อผิดพลาดไปยังระยะเริ่มโฟลว์คำขอเป้าหมาย
กำหนดนโยบายที่อัปเดตตัวแปรโฟลว์
target.urlตัวอย่างการติดตามที่แสดงนโยบาย JavaScript ที่อัปเดตตัวแปรโฟลว์
target.url:
ในตัวอย่างการติดตามที่แสดงด้านบน โปรดสังเกตค่าของตัวแปรโฟลว์ที่
target.urlอัปเดตในนโยบาย JavaScript ที่ชื่อ SetTargetURL ดังนี้target.url : https://mocktarget.apigee.net
- โปรดทราบว่า
target.urlมีองค์ประกอบต่อไปนี้- รูปแบบ:
https://mocktarget.apigee.net - เส้นทาง: ว่างเปล่า
- รูปแบบ:
- ดังนั้น คุณจึงได้รับข้อผิดพลาด
Request path cannot be empty - ไปที่เฟส AX (บันทึกข้อมูลวิเคราะห์) ในการติดตาม แล้วคลิก
เลื่อนลงไปที่ส่วนรายละเอียดของเฟส - ส่วนหัวของข้อผิดพลาด และระบุค่า ของ X-Apigee-fault-code และ X-Apigee-fault-source ตามที่แสดงด้านล่าง

- คุณจะเห็นค่าของ X-Apigee-fault-code และ X-Apigee-fault-source เป็น
protocol.http.EmptyPathและtargetตามลำดับ ซึ่งบ่งชี้ว่า ข้อผิดพลาดนี้เกิดจาก URL ของเซิร์ฟเวอร์แบ็กเอนด์มีเส้นทางว่างส่วนหัวการตอบกลับ ค่า X-Apigee-fault-code protocol.http.EmptyPathX-Apigee-fault-source target
NGINX
ขั้นตอนที่ 3: การใช้บันทึกการเข้าถึงของ NGINX
วิธีวินิจฉัยข้อผิดพลาดโดยใช้บันทึกการเข้าถึง NGINX
- หากเป็นผู้ใช้ Private Cloud คุณจะใช้บันทึกการเข้าถึง NGINX เพื่อระบุ
ข้อมูลสำคัญเกี่ยวกับ HTTP
500 Internal Server Errorได้ ตรวจสอบบันทึกการเข้าถึง NGINX
/opt/apigee/var/log/edge-router/nginx/ORG~ENV.PORT#_access_log- ค้นหาว่ามี
500ข้อผิดพลาดที่มีรหัสข้อผิดพลาดprotocol.http.EmptyPathในช่วงระยะเวลาหนึ่งๆ (หากปัญหาเกิดขึ้นใน อดีต) หรือมีคำขอใดที่ยังคงล้มเหลวด้วย500หรือไม่ หากพบ
500ข้อผิดพลาดที่X-Apigee-fault-code ตรงกับ ค่าของprotocol.http.EmptyPathให้พิจารณาค่าของ X-Apigee-fault-sourceตัวอย่างข้อผิดพลาด 500 จากบันทึกการเข้าถึงของ NGINX:
รายการตัวอย่างข้างต้นจากบันทึกการเข้าถึง NGINX มีค่าต่อไปนี้สำหรับ X- Apigee-fault-code และ X-Apigee-fault-source:
ส่วนหัว ค่า X-Apigee-fault-code protocol.http.EmptyPathX-Apigee-fault-source targetโปรดสังเกตว่าค่าของ X-Apigee-fault-code และ X-Apigee-fault-source คือ
protocol.http.EmptyPathและtargetตามลำดับ ซึ่งบ่งชี้ว่า ข้อผิดพลาดนี้เกิดจาก URL ของเซิร์ฟเวอร์แบ็กเอนด์มีเส้นทางว่าง
สาเหตุ: URL ของเซิร์ฟเวอร์แบ็กเอนด์ (target.url) มีเส้นทางว่างเปล่า
การวินิจฉัย
- กำหนดรหัสข้อผิดพลาดและแหล่งที่มาของข้อผิดพลาดสำหรับ
500 Internal Server Errorโดยใช้การตรวจสอบ API, เครื่องมือติดตาม หรือบันทึกการเข้าถึง NGINX ตามที่อธิบายไว้ใน ขั้นตอนการวินิจฉัยทั่วไป - หากรหัสข้อผิดพลาดคือ
protocol.http.EmptyPathและแหล่งที่มาของข้อผิดพลาดมีค่าเป็นtargetแสดงว่า URL ของเซิร์ฟเวอร์แบ็กเอนด์มีเส้นทางว่าง URL ของเซิร์ฟเวอร์แบ็กเอนด์แสดงด้วยตัวแปรโฟลว์
target.urlใน Apigee Edge ข้อผิดพลาดนี้มักเกิดขึ้นหากคุณพยายามอัปเดต URL ของเซิร์ฟเวอร์แบ็กเอนด์ ซึ่งก็คือtarget.urlแบบไดนามิกโดยใช้นโยบายใดนโยบายหนึ่ง (ภายใน Proxy/Shared Flow) ในโฟลว์คำขอเป้าหมาย เพื่อให้มีเส้นทางว่าง- ตรวจสอบว่าตัวแปรโฟลว์
target.urlมีเส้นทางว่างจริงหรือไม่ และแหล่งที่มาของค่าโดยใช้ขั้นตอนใดขั้นตอนหนึ่งต่อไปนี้Trace
การใช้เครื่องมือติดตาม
หากคุณบันทึกการติดตามข้อผิดพลาดนี้ไว้ ให้ทำตามขั้นตอนที่อธิบายไว้ใน การใช้เครื่องมือติดตาม และ
- ตรวจสอบว่า
target.urlมีเส้นทางว่างเปล่าหรือไม่ หากใช่ ให้ดูว่านโยบายใดที่แก้ไขหรืออัปเดตค่าของ
target.urlให้มีเส้นทางว่างตัวอย่างการติดตามที่แสดงนโยบาย JavaScript ที่อัปเดตตัวแปรโฟลว์
target.url:
- ในตัวอย่างการติดตามด้านบน โปรดสังเกตว่านโยบาย JavaScript ได้แก้ไขหรือ
อัปเดตค่าของ
target.urlให้มีเส้นทางว่าง - โปรดทราบว่า
target.urlมีองค์ประกอบต่อไปนี้- รูปแบบ:
https://mocktarget.apigee.net - เส้นทาง: ว่างเปล่า
- รูปแบบ:
บันทึก
การใช้บันทึกในเซิร์ฟเวอร์บันทึก
- หากไม่มีการติดตามข้อผิดพลาดนี้ (ปัญหาที่เกิดขึ้นเป็นครั้งคราว) ให้ตรวจสอบว่าคุณได้บันทึกข้อมูลเกี่ยวกับค่าของตัวแปรโฟลว์
target.urlโดยใช้นโยบายต่างๆ เช่น MessageLogging หรือ ServiceCallout ไปยังเซิร์ฟเวอร์บันทึกแล้วหรือไม่ - หากมีบันทึก ให้ตรวจสอบและทำดังนี้
- ตรวจสอบว่า
target.urlมีเส้นทางว่างเปล่าหรือไม่ และ - ดูว่าคุณสามารถระบุนโยบายที่แก้ไข
target.urlให้มีเส้นทางว่างได้หรือไม่
- ตรวจสอบว่า
พร็อกซี API
ตรวจสอบพร็อกซี API ที่ล้มเหลว
หากไม่มีการติดตามหรือบันทึกสำหรับข้อผิดพลาดนี้ ให้ตรวจสอบพร็อกซี API ที่ล้มเหลว เพื่อพิจารณาว่าอะไรที่แก้ไขหรืออัปเดตตัวแปรโฟลว์
target.urlให้มีเส้นทางที่ไม่ถูกต้อง โปรดตรวจสอบสิ่งต่อไปนี้- นโยบายภายในพร็อกซี API
- โฟลว์ที่แชร์ซึ่งเรียกใช้จากพร็อกซี
- ตรวจสอบว่า
ตรวจสอบนโยบายที่เฉพาะเจาะจง (เช่น AssignMessage หรือ JavaScript) ที่แก้ไขหรือ อัปเดตตัวแปรโฟลว์
target.urlอย่างละเอียด และพิจารณาสาเหตุของการอัปเดตtarget.urlให้มีเส้นทางว่างต่อไปนี้คือตัวอย่างนโยบายบางส่วนที่อัปเดตตัวแปรโฟลว์
target.urlอย่างไม่ถูกต้องให้มีเส้นทางว่างซึ่งทำให้เกิดข้อผิดพลาดนี้ตัวอย่างที่ 1
ตัวอย่างที่ 1: การอัปเดตนโยบาย JavaScript
target.urlตัวแปรvar url = "https://mocktarget.apigee.net" context.setVariable("target.url", url);
ในตัวอย่างข้างต้น โปรดสังเกตว่าตัวแปรโฟลว์
target.urlได้รับการอัปเดต ด้วยค่าhttps://mocktarget.apigee.netที่อยู่ในตัวแปรอื่นurlโปรดทราบว่า
target.urlมีองค์ประกอบต่อไปนี้- รูปแบบ:
https://mocktarget.apigee.net - เส้นทาง: ว่างเปล่า
เนื่องจากเส้นทางว่างเปล่า Apigee Edge จึงแสดง
500 Internal Server Errorพร้อม รหัสข้อผิดพลาดprotocol.http.EmptyPathตัวอย่าง #2
ตัวอย่างที่ 2: การอัปเดตนโยบาย JavaScript
target.urlตัวแปรvar path = context.getVariable("request.header.Path"); var url = "https://mocktarget.apigee.net" + path context.setVariable("target.url", url);
ในตัวอย่างข้างต้น โปรดสังเกตว่าตัวแปรโฟลว์
target.urlได้รับการอัปเดตโดย การต่อค่าhttps://mocktarget.apigee.netที่อยู่ในตัวแปรurlและ ค่าของตัวแปรอื่นpathซึ่ง ค่าจะดึงมาจากrequest.header.Path.หากคุณมีสิทธิ์เข้าถึงคำขอหรือการติดตามจริง คุณจะยืนยันค่าจริงที่ส่งไปยัง
request.header.Pathได้คำขอตัวอย่างที่ผู้ใช้ส่ง
curl -v https://HOST_ALIAS/v1/myproxy -H "Authorization: Bearer <token>
ในตัวอย่างนี้ ระบบจะไม่ส่งเส้นทางส่วนหัวเป็นส่วนหนึ่งของคำขอ ดังนั้น ค่า ของเส้นทางตัวแปรในนโยบาย JavaScript คือ
nullดังนั้น
url = https://mocktarget.apigee.net + pathurl = https://mocktarget.apigee.net + nulltarget.url = https://mocktarget.apigee.netnull
โปรดทราบว่า
target.urlมีองค์ประกอบต่อไปนี้- รูปแบบ:
https://mocktarget.apigee.netnull - เส้นทาง: ว่างเปล่า
ตัวอย่างที่ 3
ตัวอย่างที่ 3: อัปเดตนโยบาย AssignMessage
target.urlตัวแปรผ่าน ตัวแปรอื่น<AssignMessage async="false" continueOnError="false" enabled="true" name=">AM-SetTargetURL"> <DisplayName>AM-SetTargetURL</DisplayName> <AssignVariable> <Name>target.url</Name> <Value>https://mocktarget.apigee.net</Value> </AssignVariable> <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables> <AssignTo createNew="false" transport="http" type="request"/> </AssignMessage>
โปรดทราบว่า
target.urlมีองค์ประกอบต่อไปนี้- รูปแบบ:
https://mocktarget.apigee.net - เส้นทาง: ว่างเปล่า
ในตัวอย่างทั้งหมดข้างต้น เส้นทางใน URL ของเซิร์ฟเวอร์แบ็กเอนด์ ซึ่งก็คือ
target.urlว่างเปล่า ดังนั้น Apigee Edge จึงแสดง500 Internal Server Errorพร้อมรหัสข้อผิดพลาดprotocol.http.EmptyPath- รูปแบบ:
ความละเอียด
ตามข้อกำหนด
RFC 3986 ส่วนที่ 2: คอมโพเนนต์ไวยากรณ์ คอมโพเนนต์ path เป็นข้อกำหนดและต้องมีเครื่องหมายทับ (/) เสมอ แม้ว่าจะไม่มีอักขระอื่นๆ เป็นส่วนหนึ่งของ path ก็ตาม ทำตามขั้นตอนต่อไปนี้เพื่อ
แก้ไขปัญหานี้
- ตรวจสอบว่า URL ของเซิร์ฟเวอร์แบ็กเอนด์ซึ่งแสดงโดยตัวแปรโฟลว์
target.urlมีเส้นทางที่ไม่ว่างเปล่าเสมอ- ในบางกรณี คุณอาจไม่มีชื่อทรัพยากรในเส้นทาง จากนั้นตรวจสอบว่าเส้นทางมีเครื่องหมายทับ (
/) อย่างน้อย 1 ตัว - หากคุณใช้ตัวแปรอื่นๆ เพื่อกำหนดค่าของตัวแปรโฟลว์
target.urlโปรดตรวจสอบว่าตัวแปรอื่นๆ ไม่มีเส้นทางว่าง - หากคุณดำเนินการกับสตริงเพื่อกำหนดค่าของตัวแปรโฟลว์
target.urlโปรดตรวจสอบว่าผลลัพธ์หรือผลของการดำเนินการกับสตริง ไม่มีเส้นทางว่าง
- ในบางกรณี คุณอาจไม่มีชื่อทรัพยากรในเส้นทาง จากนั้นตรวจสอบว่าเส้นทางมีเครื่องหมายทับ (
- ในตัวอย่างที่กล่าวถึงในการวินิจฉัย คุณสามารถแก้ไขปัญหานี้ได้ตามที่อธิบายไว้ด้านล่าง
ตัวอย่างที่ 1
ตัวอย่างที่ 1: การอัปเดตนโยบาย JavaScript
target.urlตัวแปรเพิ่มเครื่องหมายทับ (
/) ลงในตัวแปรurlเพื่อแก้ไขปัญหานี้ ตามที่แสดงด้านล่างvar url = "https://mocktarget.apigee.net/" context.setVariable("target.url", url);
ตัวอย่าง #2
ตัวอย่างที่ 2: การอัปเดตนโยบาย JavaScript
target.urlตัวแปรvar path = context.getVariable("request.header.Path"); var url = "https://mocktarget.apigee.net" + path context.setVariable("target.url", url);
ตรวจสอบว่าคุณได้ส่งเส้นทางที่ถูกต้อง เช่น
/iloveapisเป็นส่วนหนึ่งของ ส่วนหัวของคำขอPathเพื่อแก้ไขปัญหานี้ตามที่แสดงด้านล่างตัวอย่างคำขอ:
curl -v https://HOST_ALIAS/v1/myproxy -H "Authorization: Bearer <token> -H "Path: /iloveapis"
ตัวอย่างที่ 3
ตัวอย่างที่ 3: นโยบาย AssignMessage ที่อัปเดตตัวแปร
target.urlผ่าน ตัวแปรอื่นเพิ่มเส้นทางที่ถูกต้องในองค์ประกอบ
<Value>ของนโยบาย AssignMessage ตัวอย่างเช่น คุณสามารถใช้/jsonเป็นเส้นทางสำหรับ MockTarget API กล่าวคือ แก้ไของค์ประกอบ<Value>เป็นhttps://mocktarget.apigee.net/jsonดังที่แสดงด้านล่าง<AssignMessage async="false" continueOnError="false" enabled="true" name="AM-SetTargetURL"> <DisplayName>AM-SetTargetURL</DisplayName> <AssignVariable> <Name>target.url</Name> <Value>https://mocktarget.apigee.net/json</Value> </AssignVariable> <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables> <AssignTo createNew="false" transport="http" type="request"/> </AssignMessage>
ข้อมูลจำเพาะ
Apigee Edge คาดหวังว่า URL ของเซิร์ฟเวอร์แบ็กเอนด์ จะไม่มีเส้นทางว่างตาม ข้อกำหนดต่อไปนี้
| ข้อมูลจำเพาะ |
|---|
| RFC 3986 ส่วนที่ 3: องค์ประกอบไวยากรณ์ |
| RFC 3986 ส่วนที่ 3.3: เส้นทาง |
หากยังต้องการความช่วยเหลือจากทีมสนับสนุนของ Apigee โปรดไปที่ ต้องรวบรวมข้อมูลการวินิจฉัย
ต้องรวบรวมข้อมูลการวินิจฉัย
หากยังพบปัญหาเดิมอยู่แม้จะทำตามวิธีการข้างต้นแล้ว โปรดรวบรวมข้อมูลการวินิจฉัยต่อไปนี้ แล้วติดต่อทีมสนับสนุนของ Apigee Edge
หากคุณเป็นผู้ใช้ระบบคลาวด์สาธารณะ โปรดระบุข้อมูลต่อไปนี้
- ชื่อองค์กร
- ชื่อสภาพแวดล้อม
- ชื่อพร็อกซี API
- คำสั่ง
curlที่สมบูรณ์ซึ่งใช้ในการสร้าง500 Internal Server Errorซ้ำโดยมีรหัสข้อผิดพลาดprotocol.http.EmptyPath - ไฟล์การติดตามสำหรับคำขอ API
หากคุณเป็นผู้ใช้ Private Cloud โปรดระบุข้อมูลต่อไปนี้
- ข้อความแสดงข้อผิดพลาดทั้งหมดที่พบสำหรับคำขอที่ไม่สำเร็จ
- ชื่อสภาพแวดล้อม
- แพ็กเกจพร็อกซี API
- ไฟล์การติดตามสำหรับคำขอ API
บันทึกการเข้าถึง NGINX
/opt/apigee/var/log/edge-router/nginx/ORG~ENV.PORT#_access_logโดยที่ ORG, ENV และ PORT# จะถูกแทนที่ด้วย ค่าจริง
- บันทึกของระบบ Message Processor
/opt/apigee/var/log/edge-message- processor/logs/system.log