diff --git a/bigtop-manager-agent/src/main/java/org/apache/bigtop/manager/agent/service/TaskLogServiceGrpcImpl.java b/bigtop-manager-agent/src/main/java/org/apache/bigtop/manager/agent/service/TaskLogServiceGrpcImpl.java index 458552724..018ad0ad8 100644 --- a/bigtop-manager-agent/src/main/java/org/apache/bigtop/manager/agent/service/TaskLogServiceGrpcImpl.java +++ b/bigtop-manager-agent/src/main/java/org/apache/bigtop/manager/agent/service/TaskLogServiceGrpcImpl.java @@ -32,6 +32,7 @@ import java.io.File; import java.io.RandomAccessFile; +import java.nio.charset.StandardCharsets; @Slf4j @GrpcService @@ -46,6 +47,7 @@ public void getLog(TaskLogRequest request, StreamObserver response while (file.getFilePointer() < fileLength) { String line = file.readLine(); if (line != null) { + line = new String(line.getBytes(StandardCharsets.ISO_8859_1), StandardCharsets.UTF_8); responseObserver.onNext( TaskLogReply.newBuilder().setText(line).build()); } @@ -76,9 +78,9 @@ private void readNewLogs(RandomAccessFile file, StreamObserver res if (file.readByte() != '\n') { file.seek(position); } - String line = file.readLine(); while (line != null) { + line = new String(line.getBytes(StandardCharsets.ISO_8859_1), StandardCharsets.UTF_8); responseObserver.onNext(TaskLogReply.newBuilder().setText(line).build()); line = file.readLine(); }