log.error () не регистрирует ошибку серьезности. - PullRequest
0 голосов
/ 30 сентября 2019

У меня есть требование, что если я регистрируюсь с log.error (e);Я должен получить серьезность: ошибка, вместо этого я получаю информацию. Пожалуйста, помогите, как добиться этого.

  @Slf4j
   @ControllerAdvice
   public class CustomExceptionHandler extends ResponseEntityExceptionHandler {
     @ExceptionHandler(SpannerException.class)
public final ResponseEntity<Object> handleUserNotFoundException(SpannerException ex, WebRequest request) {
    List<String> details = new ArrayList<>();
    details.add(ex.getErrorCode().toString());
    ErrorResponse error = new ErrorResponse("Exception occured", details);
    log.error("Exception:" + ex.getMessage());
    return new ResponseEntity(error, HttpStatus.INTERNAL_SERVER_ERROR);
}

}

Мой logback.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <include resource="org/springframework/cloud/gcp/logging/logback-json-appender.xml" />
    <include resource="org/springframework/boot/logging/logback/defaults.xml" />
    <include resource="org/springframework/boot/logging/logback/console-appender.xml" />
    <appender name="ASYNC" class="ch.qos.logback.classic.AsyncAppender">
        <appender-ref ref="CONSOLE" />
    </appender>

    <root level="INFO">
        <appender-ref ref="ASYNC" />
    </root>
</configuration>

В StackDriver я вижу, что серьезность - INFO.

1 Ответ

1 голос
/ 30 сентября 2019

Если вы пишете записи журнала, вам следует сопоставить другие кодировки серьезности с одним из этих стандартных уровней. Например, вы можете отобразить все уровни FINE, FINER и FINEST в Java на LogSeverity.DEBUG. Вы можете сохранить исходный уровень серьезности в полезной нагрузке записи журнала, если хотите.

Вы можете найти список различных перечислений LogSeverity ЗДЕСЬ , для Ошибка равна (500)

...