У меня есть приложение-приемник 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
Может ли кто-нибудь помочь мне решить эту проблему в ближайшее время.