Как включить журналы приложений в wso2? - PullRequest
0 голосов
/ 11 февраля 2020

Как включить журналы приложений (API опубликован в WSO2) в файле APIM_HOME> /repository/conf/log4j2.properties? Я просмотрел документацию 3.0.0 (https://apim.docs.wso2.com/en/latest/Administer/ProductAdministration/Monitoring/Logging/setting-up-logging/#setting -up-logging-in-api-manager ) и попытался настроить ведение журнала для моего компонента приложения, но не могу увидеть спецификацию приложения c регистрируется в wso2carbon.log.

Используя пользовательские посредники, я могу записать полный запрос / ответ, но ищу все строки «log.xxx ()», которые есть в моем коде, основанный на уровне журнала, который я установил в файле log4j2.properties в WSO2. Я использую регистратор slf4j в коде, поэтому я попытался включить ведение журнала для пакета "org.slf4j", а также попытался включить для пакета моего приложения speci c, но ни один из них не работал ("applogger" ниже был добавлен в список разделенных запятыми регистраторов в тот же файл:

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

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

Я также проверил эти ( 1 , 2 ) вопросы, связанные с ведением журнала на SO, но не смог найти окончательный ответ, который решил мою проблему Когда я попробовал перейти по этой ссылке, чтобы включить трассировку сообщений с консоли углерода, я получил следующую ошибку:

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)

1 Ответ

0 голосов
/ 11 февраля 2020

Используя пользовательские посредники, я могу записать полный запрос / ответ, но я хочу записать все строки "log.xxx ()", которые есть в моем коде, на основе уровня журнала, который я установил в файл log4j2.properties в WSO2. Я использую регистратор slf4j в коде, поэтому я попытался включить ведение журнала для пакета "org.slf4j", а также попытался включить для пакета моего приложения speci c, но ни один из них не работал ("applogger" ниже был добавлен в список разделенных запятыми регистраторов в тот же файл:

logger.applogger.name = org.slf4j

logger.applogger.level = DEBUG

logger.applogger.name = my.application.package

logger.applogger.level = DEBUG

Похоже, вы неоднократно добавляли одно и то же имя. Добавьте следующее в журнал вашего приложения следующим образом:

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 для ведения журнала. В противном случае могут возникнуть проблемы из-за зависимости версии mismtach.

...