我要求如果我使用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。
答案 0 :(得分:1)
如果要编写日志条目,则应将其他严重性编码映射到这些标准级别之一。例如,您可能将所有Java的FINE,FINER和FINEST级别映射到LogSeverity.DEBUG。您可以根据需要在日志条目有效负载中保留原始的严重性级别。
您可以找到其他LogSeverity枚举HERE的列表,错误为(500)