所以我正在开发WSO2中的PER-API日志配置,为了记录API调用的REQUEST / RESPONSE,我们需要
log4j.appender.TestAPI_APPENDER = org.apache.log4j.RollingFileAppender进行 log4j.appender.TestAPI_APPENDER.File = $ {carbon.home} /库/日志/ PerAPI / $ {instance.log} / WSO2-APILogs服务$ {instance.log}的.log log4j.appender.TestAPI_APPENDER.MaxFileSize = 1000KB log4j.appender.TestAPI_APPENDER.MaxBackupIndex = 10 log4j.appender.TestAPI_APPENDER.layout = org.apache.log4j.PatternLayout log4j.appender.TestAPI_APPENDER.layout.ConversionPattern =%d {ISO8601} [%X {ip} - %X {host}] [%t]%5p%c {1}%m%n%n log4j.category.API_LOGGER.admin - APINAME = TRACE, TestAPI_APPENDER
然而,我确实有一些问题,我会陷入其中并希望得到帮助,这里是他们
谢谢
答案 0 :(得分:1)
请为您的问题找到以下答案
通过启用有线日志设置,您可以轻松跟踪响应的HTTP状态代码。您可以通过取消注释log4j.properties文件中的以下行来启用标头和wirelogs(位于:\ repository \ conf )
<sequence xmlns="http://ws.apache.org/ns/synapse" name="admin--TwitterSearch:v1.0.0--In">
<log level="custom">
<property name="test" value="your value goes here……….” />
</log>
</sequence>
第三个问题,你可以通过在顺序中使用log mediator(在请求中打印一行)和out-sequence(在响应中打印一行)来实现这一点。例如,你可以在api synapse中使用自定义日志配置文件如下(这里我依次使用这个自定义登录)
SELECT refno
, COUNT(1) AS cnt
FROM (
SELECT DISTINCT u.lname
, r.refno
, u.dob
FROM @record r
INNER JOIN @user u ON u.id = r.fk
) AS t
GROUP BY refno
HAVING COUNT(1) > 1;
答案 1 :(得分:0)
您可以启用wirelog来跟踪API调用时的请求和响应。要在log4j.properties文件中取消注释,请执行此操作。
log4j.logger.org.apache.synapse.transport.http.wire = DEBUG
此外,如果您想记录http消息,您也可以取消注释以下行。
log4j.logger.org.apache.synapse.transport.http.headers=DEBUG