#java #spring #spring-boot #vue.js #slf4j
Вопрос:
Вопрос:
Я хотел бы знать, как я могу получить сообщения регистратора, отображаемые в Java IDE, для интерфейсных веб-приложений, чтобы пользователи могли знать различные сообщения регистратора.
Фон:
Я разрабатываю веб-приложение, используя Vuejs
его как внешний интерфейс и Java
как серверную службу. У меня есть textarea
место, где пользователи могут предоставлять XML
данные. Эти данные отправляются на Java
серверную часть, где они будут проверены XSD Schema
, и с помощью этого добавляются различные другие вещи и соответствующие LOG
сообщения Slf4j Log
. Кроме того, некоторые данные возвращаются Java Backend Service
.
Я могу получить returned Data
и Exception
от моего Java
внутри VUEJS
вызова, но Log
сообщения отображаются только в моем Java IDE IntelliJ
, и я не понимаю, как получить эти данные также в VUEJS
вызове.
Я хотел бы Log
также отображать сообщения пользователю, чтобы он мог понять, что происходит в бэкэнде.
Я много пытался искать, но не мог понять, возможно ли это или, если возможно, как. Может кто-нибудь, пожалуйста, помочь мне в этом?
Ниже приведен пример кода, в котором используется VuejS
и Springboot
который вызывает мой Java Backend Service
:
<textarea class="form-control" v-model="xmlEvents" ref="xmlEvents" @input="convertToJSON()" placeholder="XML Data"></textarea>
Мой призыв к весенней загрузке:
methods: {
convertToJSON() {
ConverterService.convertToJson(this.xmlEvents)
.then((response) => {
if (response.status == 200) {
this.jsonEvents = JSON.stringify(response.data, undefined, "t");
}
})
.catch((error) => {
this.jsonEvents = error.response.data.detail;
});
}
}
Моя служба:
import http from "../http-common";
class ConverterService {
//Method to convert the XML events to JSON
convertToJson(data) {
return http.post("/jsonConverter", data);
}
}
export default new ConverterService();
Мое приложение для весенней загрузки:
@PostMapping("/jsonConverter")
public String convertToJson(@RequestBody String xmlEvents) throws ConverterException {
try {
final InputStream xmlStream = new ByteArrayInputStream(xmlEvents.getBytes(StandardCharsets.UTF_8));
final ByteArrayOutputStream jsonOutput = new ByteArrayOutputStream();
new XmlToJsonConverter().convert(xmlStream);
return new String(jsonOutput.toByteArray());
} catch (Exception exception) {
throw new ConverterException(exception.getMessage());
}
}
Все, что я хотел бы знать, — это как получать Log
сообщения, которые отображаются в Console
моем IntelliJ IDE
вызове в пределах моего VueJS
вызова, вместе с ответом, который отправляется на запрос вызова.
Комментарии:
1. пользователи не используют IDE. Пользователи также не должны знать о ведении журнала, должен быть сопровождающий приложения.
2. @Stultuske Спасибо за ответ. Я согласен, но
Log
сообщения, добавленные вJava
приложение, имеют отношение к пользователю, поэтому я хотел бы получить их и показать в интерфейсе. Сообщения журнала связаны с тем, соответствует ли XML недопустимым записям схемы и т.д. Для них нет необходимости создавать исключения, поэтому мы используем сообщения журнала. Я хотел бы показать это в интерфейсе, чтобы пользователи знали об этом. Есть ли способ достичь этого?3. Почему бы не обрабатывать исключения и не отправлять удобные для пользователя сообщения об ошибках вашему клиенту? журналы не предназначены для совместного использования с клиентами/пользователями.
4. @BATMAN_2008 отображение их во внешнем интерфейсе сильно отличается от отображения их в консоли/IDE
5. @Mo_ — Спасибо за ответ. На самом деле, это не
Exceptions
совсемWarning
так . У меня многоExceptions
чего есть в коде, и я могу получить доступ и показать их с помощьюException Handling approach
, но я также хотел бы показать пользователюWarnings
, что могло произойти во время выполнения. ОниWarnings
показаны вJava IDE
качествеLog Messages
, поэтому я также хотел бы получить к ним доступLog Messages
во время моегоJava Backend call
и показать их пользователю.