您可以使用Logback附加程序+实施 LoggingEnhacer
public class LogEnhancer implements LoggingEnhancer { @Override public void enhanceLogEntry(LogEntry.Builder logEntry) { // add Labels logEntry.addLabel("project", "conversational-services"); // Transform textPayload to JSonPayload ObjectMapper mapper = new ObjectMapper(); Builder structBuilder = Struct.newBuilder(); String textPayload = logEntry.build().getPayload().getData().toString(); try { // Validate JSON Payload mapper.readTree(textPayload); JsonFormat.parser().merge(textPayload, structBuilder); logEntry.setPayload(JsonPayload.of(structBuilder.build())); } catch (InvalidProtocolBufferException e) { // Error reporting an error! FML System.err.println(e.getMessage()); } catch (IOException e) { // Do nothing (there is not a JSON Payload) } }}此类添加标签并在JSONPayload中转换JSON字符串
你需要指定 LoggingEnhacer 上 logback.xml 文件
<!DOCTYPE configuration><configuration> <appender name="CLOUD" > <filter > <level>INFO</level> </filter> <log>application.log</log> <resourceType>gae_app</resourceType> <!-- References to the LoggingEnhacer class --> <enhancer>[path_for_your_logging_enhancer_class]</enhancer> <flushLevel>WARN</flushLevel> </appender> <root level="info"> <appender-ref ref="CLOUD" /> </root></configuration>



