如何在wso2中启用应用程序日志?

问题描述 投票:0回答:1

如何在APIM_HOME> /repository/conf/log4j2.properties文件中启用我的应用程序日志(在WSO2中发布的API)?我浏览了3.0.0文档(https://apim.docs.wso2.com/en/latest/Administer/ProductAdministration/Monitoring/Logging/setting-up-logging/#setting-up-logging-in-api-manager),并尝试为我的应用程序组件配置日志记录,但是在wso2carbon.log中看不到应用程序特定的日志。

通过使用自定义中介,我能够记录完整的请求/响应,但是我希望根据在log4j2.properties中设置的日志级别记录代码中所有的“ log.xxx()”行。 WSO2中的文件。我在代码中使用了slf4j记录器,因此我尝试为“ org.slf4j”包启用日志记录,并尝试为我的应用程序的特定包启用日志记录,但是都没有起作用(以下“ applogger”已添加到同一文件中逗号分隔的记录器列表中:

# application logs
logger.applogger.name = org.slf4j
logger.applogger.level = DEBUG

logger.applogger.name = my.application.package
logger.applogger.level = DEBUG

我还检查了这些(12)日志记录有关SO的问题,但找不到解决我问题的明确答案。当我尝试按照this链接从Carbon控制台启用消息跟踪时,出现以下错误:

error
Cannot set eventing configuration. Backend server may be unavailable.; nested exception is:
org.apache.axis2.AxisFault: unknown - An error has occurred. Please refer the logs for more details.

在日志中:

TID: [-1234] [] [2020-02-11 04:56:48,913] ERROR {org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver} - Exception occurred while trying to invoke service method configureEventing java.lang.NullPointerException
        at org.wso2.carbon.analytics.message.tracer.handler.conf.RegistryPersistenceManager.updateConfigurationProperty(RegistryPersistenceManager.java:84)
.............................
TID: [-1234] [] [2020-02-11 04:56:48,922] ERROR {org.wso2.carbon.analytics.message.tracer.handler.ui.MessageTracerHandlerAdminClient} - Cannot set eventing configuration. Backend server may be unavailable. org.apache.axis2.AxisFault: unknown
        at org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:531)
logging wso2 log4j2 slf4j wso2carbon
1个回答
0
投票

通过使用自定义介体,我可以记录完整的请求/响应,但我希望记录所有的“ log.xxx()”行在我的代码中,基于我在log4j2.properties中设置的日志级别WSO2中的文件。我在代码中使用slf4j记录器,因此尝试启用日志记录对于“ org.slf4j”包,还尝试为我的应用程序启用特定的程序包,但都不起作用(已添加以下“ applogger”到同一文件中逗号分隔的记录器列表:

logger.applogger.name = org.slf4j

logger.applogger.level =调试

logger.applogger.name = my.application.package

logger.applogger.level =调试

似乎您已经重复添加了相同的名称。如下添加您的应用程序记录器:

logger.applogger.name = my.application.package 
logger.applogger.level = DEBUG

并将其设置为记录器配置:

loggers = AUDIT_LOG, trace-messages, org-apache-coyote, com-hazelcast, Owasp-CsrfGuard, org-apache-axis2-wsdl-codegen-writer-PrettyPrinter.... org-wso2-carbon-apimgt-gateway-mediators-BotDetectionMediator,correlation, JAGGERY_LOG, applogger

您无需将记录器名称设置为org.slf4j。您只应指定组件的软件包名称。检查后端实现是否正在使用log4J2进行日志记录。如果不是,则可能是由于依赖项版本错误导致的问题。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.