Приложение представляет собой просто командную строку, а не сервер REST или любой другой обычный сервер.Вот пример кода:
Код: Выделить всё
@QuarkusMain
public class Test implements QuarkusApplication {
@Inject
Vertx vertx;
@Override
public int run(String... args) throws Exception {
MDC.put("mytest1", "hallo1");
Log.info("initial message");
WorkerExecutor executor = vertx.createSharedWorkerExecutor("worker", 20);
executor.executeBlocking(() -> {
MDC.put("mytest2", "hallo2");
ContextualData.put("mytest3", "hallo3");
Log.info("message in worker");
return null;
});
Log.info("final message");
Quarkus.waitForExit();
return 0;
}
}
Код: Выделить всё
io.quarkus
quarkus-arc
io.quarkus
quarkus-vertx
io.reactiverse
reactiverse-contextual-logging
1.2.1
Код: Выделить всё
%dev.quarkus.log.console.enable=true
%dev.quarkus.log.console.format=%d{HH:mm:ss} %-5p [%-27C{1}:%-3L] (%-20t) -%X{mytest1}- -%X{mytest2}- [%X{mytest3}] %s%e%n
%dev.quarkus.log.min-level=TRACE
Код: Выделить всё
16:11:07 INFO [Test :29 ] (Quarkus Main Thread ) -hallo1- -- [] initial message
16:11:07 INFO [Test :39 ] (Quarkus Main Thread ) -hallo1- -- [] final message
16:11:07 INFO [Test :35 ] (worker-1 ) -- -- [] message in worker
Код: Выделить всё
16:11:07 INFO [Test :29 ] (Quarkus Main Thread ) -hallo1- -- [] initial message
16:11:07 INFO [Test :39 ] (Quarkus Main Thread ) -hallo1- -- [] final message
16:11:07 INFO [Test :35 ] (worker-1 ) -- -hallo2- [] message in worker
Код: Выделить всё
16:11:07 INFO [Test :29 ] (Quarkus Main Thread ) -hallo1- -- [] initial message
16:11:07 INFO [Test :39 ] (Quarkus Main Thread ) -hallo1- -- [] final message
16:11:07 INFO [Test :35 ] (worker-1 ) -- -- [hallo3] message in worker
Как коррелировать события журнала в распределенной системе Vertx
и наткнулся на эту документацию:
https:/ /reactiverse.io/reactiverse-contextual-logging/#_propagation
К сожалению, это все еще не работает.
Есть предложения?
Подробнее здесь: https://stackoverflow.com/questions/791 ... erexecutor
Мобильная версия