2016-12-01 8 views
-1

Название говорит, что все это ...Mulesoft/Cloudhub - Как получить выход из класса Java для отображения в журнале?

У меня есть приложение Mulesoft, которое развернуто в cloudhub (но проблема такая же, что и для локального/on-prem). В моем приложении есть компонент Java Invoke, который вызывает метод в моем классе Java.

Метод содержит выходные операторы, такие как System.out и System.err. Если я запустил приложение в Anypoint Studio, этот вывод появится в консоли, как ожидалось ... Но он не отображается в файле журнала (локально или в облачном узле).

Как получить вывод из моего класса Java, чтобы он отображался в файле журнала?

ответ

1

Это, как ожидается, ... System.out не печатаются в журналах, не должны использоваться в прод среде ...
Вы должны использовать log4j2.xml в папку src/main/resource и нужно использовать org.apache.logging.log4j в классе Java ,

Пример: -

import org.apache.logging.log4j.LogManager; 
import org.apache.logging.log4j.Logger; 

public class Log4j2Tester { 
    private static final Logger LOG = LogManager.getLogger(Log4j2Tester.class); 

    public String test(String args) { 
     LOG.error("testing ERROR level"); 

     LOG.info("testing INFO level"); 
     LOG.trace("exiting application"); 
     return "Done"; 
    } 
} 

Для более исх: - https://logging.apache.org/log4j/2.x/manual/configuration.html
Для Cloudhub пользовательского журнала Appender: - https://docs.mulesoft.com/runtime-manager/custom-log-appender

+0

Благодаря Anirban, я совсем забыл, что Log4j использовался для создания журнала. – Topher