fix - 日志上传
This commit is contained in:
@@ -12,7 +12,11 @@ import io.netty.handler.timeout.IdleStateEvent;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.io.FileOutputStream;
|
||||
import java.net.InetSocketAddress;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
@@ -81,6 +85,9 @@ public class ServerHandler extends SimpleChannelInboundHandler<String> {
|
||||
}
|
||||
}
|
||||
break;
|
||||
case LOG_DATA:
|
||||
handleLogData(message);
|
||||
break;
|
||||
default:
|
||||
logger.info( "default");
|
||||
}
|
||||
@@ -140,6 +147,34 @@ public class ServerHandler extends SimpleChannelInboundHandler<String> {
|
||||
}
|
||||
}
|
||||
|
||||
private void handleLogData(VenueMessage message) {
|
||||
try {
|
||||
String json = message.getMessage();
|
||||
Map<String, String> logData = JsonUtils.decode(json, Map.class);
|
||||
String deviceSn = logData.get("deviceSn");
|
||||
String commLog = logData.get("commLog");
|
||||
String errorLog = logData.get("errorLog");
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
String dateStr = sdf.format(new Date());
|
||||
|
||||
if (commLog != null) {
|
||||
String fileName = "/home/uploadlog/comm-" + deviceSn + "-" + dateStr + "-client.log";
|
||||
try (FileOutputStream fos = new FileOutputStream(fileName)) {
|
||||
fos.write(commLog.getBytes());
|
||||
}
|
||||
}
|
||||
if (errorLog != null) {
|
||||
String fileName = "/home/uploadlog/error-" + deviceSn + "-" + dateStr + "-client.log";
|
||||
try (FileOutputStream fos = new FileOutputStream(fileName)) {
|
||||
fos.write(errorLog.getBytes());
|
||||
}
|
||||
}
|
||||
logger.info("log data saved for device: " + deviceSn);
|
||||
} catch (Exception e) {
|
||||
logger.error("handle log data fail", e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* IdleStateHandler 如果几秒之后没有读操作,那么就会触发这个方法
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user