我有一個WSO2IS位於平衡器後面的環境,並希望客戶端IP也被記錄到文件wso2carbon.log超出http_access.log文件。WSO2IS將客戶端IP記錄到文件中wso2carbon.log
0
A
回答
0
關於應用程序日誌,我們需要手動解析要記錄的值。你應該從請求中獲得IP地址。您可以將其添加到Thread local並將其配置爲模式佈局[5]。
String ipAddress = request.getHeader("X-FORWARDED-FOR");
if (ipAddress == null) {
ipAddress = request.getRemoteAddr();
}
您可以使用請求頭「X-Forwarded-For」[1]。
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="${carbon.home}/repository/logs"
prefix="http_access_management_console_" suffix=".log"
pattern="%{X-Forwarded-For}i %h %l %u %t "%r" %s %b "%{Referer}i" "%{User-Agent}i"" />
[2]
[1]。 https://tomcat.apache.org/tomcat-7.0-doc/config/valve.html#Proxies_Support [2]。 https://docs.wso2.com/display/ESB490/Access+Logs
[3]。 http://tomcat.apache.org/tomcat-6.0-doc/config/valve.html#Access_Log_Valve
[4]。 http://www.techstacks.com/howto/configure-access-logging-in-tomcat.html [5]。 https://logging.apache.org/log4j/2.x/manual/thread-context.html
0
如果您可以通過編程獲取用戶的IP,則可以編寫用戶操作事件監聽器[1]並打印日誌。樣本在[2]中。
[1] http://tharindue.blogspot.com/2016/08/user-operation-event-listener-in-wso2.html [2] http://tharindue.blogspot.com/2016/08/writing-user-operation-event-listener.html
相關問題
- 1. 如何將訪客IP記錄到文本文件或PHPMyAdmin中?
- 2. PHP不寫客戶端IP到文件
- 3. 添加客戶端IP信息到Django的記錄
- 4. 客戶端日誌記錄
- 5. 獲取客戶端IP的客戶端
- 6. 如何將SQL輸出記錄到客戶端上的文本文件C#
- 7. Nodejs客戶端IP
- 8. 登錄時獲取客戶端IP
- 9. 將Excel文件發送到客戶端
- 10. 將文件添加到perforce客戶端
- 11. 將XML文件發送到客戶端
- 12. 在asp.net中插入客戶端記錄
- 13. 記錄時間在客戶端與客戶端時區
- 14. 如何將客戶端連接記錄到gRPC服務器?
- 15. 如何將表記錄標識符傳遞到客戶端
- 16. 將客戶端路由到ASP中的IP
- 17. WebClient客戶端IP地址
- 18. Node.js:獲取客戶端IP
- 19. IP客戶端WSO2 ESB
- 20. Rails客戶端IP :: 1?
- 21. Azure客戶端IP地址
- 22. 客戶端ip地址
- 23. DARTlang獲取客戶端IP
- 24. Objective-c TCP/IP客戶端
- 25. MVC4 Web Api客戶端IP
- 26. 阻止App Engine記錄客戶端文件請求
- 27. 從客戶端發送文件到客戶端通過HTTP
- 28. 在輸出文件中顯示客戶端的IP地址?
- 29. phpMyAdmin - 記錄客戶端查詢?
- 30. gemfirexd客戶端日誌不記錄
@Poorman,謝謝! 但我需要的是自動登錄文件wso2carbon.log,我看過這個文檔,但無法完成我想要的。 – Naka
我不認爲你可以通過配置來完成。你應該實現一個像[5] – Poornan