Как перенаправить журналы весенних облачных задач в приложение весенней облачной задачи? - PullRequest
0 голосов
/ 15 октября 2018

У меня есть приложение-приемник Spring Cloud, которое будет запускать задачу Spring cloud.

    @SpringBootApplication
    @EnableBinding(Sink.class)
    @RestController
    @EnableScheduling
    @EnableTaskLauncher
    @Slf4j
    public class FileTaskLauncherApp {
       @Autowired
       private Sink sink;

       @Value("${spring.task.artifactory.url}")
       private String uri;

       @Value("${spring.task.name:file_task_launcher}")
       private String taskName;

      @GetMapping("/triggerTask")
      public String publishTask(){
        log.info("Publishing task with task launcher request...");

        Map<String, String> prop = new HashMap<>();
        prop.put("server.port", "0");

        Map<String,String> deployProp=new HashMap<>();        
deployProp.put("deployer.*.local.inheritLogging","true");

       TaskLaunchRequest request = new TaskLaunchRequest(
            uri, null,
            prop,
            deploymentProp, taskName);
       GenericMessage<TaskLaunchRequest> message = new 
                 GenericMessage<TaskLaunchRequest>(
            request);
            this.sink.input().send(message);

            return "SUCCESS";
       }
    }

Но приемник облачных задач Spring будет вызывать Spring Cloud Task, и каждая задача представляет собой недолговечный микро-сервис, имеющий свои собственные функции.Я хотел перенаправить журналы приложений из облачной задачи Spring в приложение приемника задач.

Это мои application.properties:

server.port=8084
spring.cloud.stream.kafka.binder.brokers= localhost:2181
spring.cloud.stream.bindings.input.destination=fileTask
spring.task.artifactory.url=maven://com.tgt.fulfillment:file-generation-task:1.0.1-SNAPSHOT
spring.task.name=file_task_launcher
deployer.*.local.inheritLogging=true

Это мои журналы, поступающие из приложения приемника задач

12:40:39.057 [http-nio-8084-exec-1] INFO  o.s.c.task.launcher.TaskLauncherSink - Launching Task for the following uri maven://com.test:file-generation-task:1.0.1-SNAPSHOT
12:40:39.140 [http-nio-8084-exec-1] INFO  o.s.c.d.spi.local.LocalTaskLauncher - Command to be executed: /Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/jre/bin/java -jar /Users/z003c1v/.m2/repository/com/test/file-generation-task/1.0.1-SNAPSHOT/file-generation-task-1.0.1-SNAPSHOT.jar
12:40:39.153 [http-nio-8084-exec-1] INFO  o.s.c.d.spi.local.LocalTaskLauncher - launching task file_task_launcher-2c630ad9-acbb-43e0-8140-3ce49506f8e2
   Logs will be in /var/folders/y5/hr2vrk411wdg_3xl3_10r295rp30bg/T/file_task_launcher7177051446839079310/1539587439103/file_task_launcher-2c630ad9-acbb-43e0-8140-3ce49506f8e2

В соответствии с приведенной ниже весенней документацией, включив развертывание. *. Local.inheritLogging = true в свойствах развертывания, журналы приложений следует перенаправлять в журналы сервера, но этого не происходит.

Ссылка: http://docs.spring.io/spring-cloud-dataflow/docs/1.4.0.RELEASE/reference/htmlsingle/#_logging

Может ли кто-нибудь помочь мне решить эту проблему в ближайшее время.

1 Ответ

0 голосов
/ 22 октября 2018

Можете ли вы поделиться своим определением потока, состоящим из модуля запуска задач sink?

Свойство inheritLogging является локальным свойством deployer , и, следовательно, его следует указывать, когда deploying stream not в указанном выше свойстве уровня приложения.

Что-то вроде:

stream deploy --name mystream --properties "deployer. *.local.inheritLogging = true ”

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...