diff options
author | Gavriel Fleischer <flocsy@gmail.com> | 2019-01-08 19:44:55 +0200 |
---|---|---|
committer | Gavriel Fleischer <flocsy@gmail.com> | 2019-01-08 19:44:55 +0200 |
commit | 4270b46343d828081436f9a467230d91aa05e4ec (patch) | |
tree | d0723e46b0e9989c5787556da4821bad29471bb8 | |
parent | b2d79ed768eccad9678a5f05aa10b263ee693e35 (diff) | |
download | traccar-server-4270b46343d828081436f9a467230d91aa05e4ec.tar.gz traccar-server-4270b46343d828081436f9a467230d91aa05e4ec.tar.bz2 traccar-server-4270b46343d828081436f9a467230d91aa05e4ec.zip |
made it possible to customize log order and use any attribute
-rw-r--r-- | src/org/traccar/MainEventHandler.java | 70 |
1 files changed, 38 insertions, 32 deletions
diff --git a/src/org/traccar/MainEventHandler.java b/src/org/traccar/MainEventHandler.java index a43227c8f..76cb3e132 100644 --- a/src/org/traccar/MainEventHandler.java +++ b/src/org/traccar/MainEventHandler.java @@ -65,38 +65,44 @@ public class MainEventHandler extends ChannelInboundHandlerAdapter { StringBuilder s = new StringBuilder(); s.append(formatChannel(ctx.channel())).append(" "); s.append("id: ").append(uniqueId); - if (logEvents.contains("time")) { - s.append(", time: ").append(DateUtil.formatDate(position.getFixTime(), false)); - } - if (logEvents.contains("position")) { - s.append(", lat: ").append(String.format("%.5f", position.getLatitude())); - s.append(", lon: ").append(String.format("%.5f", position.getLongitude())); - } - if (position.getSpeed() > 0 && logEvents.contains("speed")) { - s.append(", speed: ").append(String.format("%.1f", position.getSpeed())); - } - if (logEvents.contains("course")) { - s.append(", course: ").append(String.format("%.1f", position.getCourse())); - } - if (position.getAccuracy() > 0 && logEvents.contains("accuracy")) { - s.append(", accuracy: ").append(String.format("%.1f", position.getAccuracy())); - } - if (position.getOutdated() && logEvents.contains("outdated")) { - s.append(", outdated"); - } - if (!position.getValid() && logEvents.contains("invalid")) { - s.append(", invalid"); - } - if (logEvents.contains(Position.KEY_BATTERY_LEVEL)) { - Object batteryLevel = position.getInteger(Position.KEY_BATTERY_LEVEL, null); - if (batteryLevel != null) { - s.append(", battery: ").append(batteryLevel).append('%'); - } - } - if (logEvents.contains(Position.KEY_RESULT)) { - Object cmdResult = position.getAttributes().get(Position.KEY_RESULT); - if (cmdResult != null) { - s.append(", result: ").append(cmdResult); + for (String event : logEvents) { + switch (event) { + case "time": + s.append(", time: ").append(DateUtil.formatDate(position.getFixTime(), false)); + break; + case "position": + s.append(", lat: ").append(String.format("%.5f", position.getLatitude())); + s.append(", lon: ").append(String.format("%.5f", position.getLongitude())); + break; + case "speed": + if (position.getSpeed() > 0) { + s.append(", speed: ").append(String.format("%.1f", position.getSpeed())); + } + break; + case "course": + s.append(", course: ").append(String.format("%.1f", position.getCourse())); + break; + case "accuracy": + if (position.getAccuracy() > 0) { + s.append(", accuracy: ").append(String.format("%.1f", position.getAccuracy())); + } + break; + case "outdated": + if (position.getOutdated()) { + s.append(", outdated"); + } + break; + case "invalid": + if (!position.getValid()) { + s.append(", invalid"); + } + break; + default: + Object value = position.getAttributes().get(event); + if (value != null) { + s.append(", ").append(event).append(": ").append(value); + } + break; } } LOGGER.info(s.toString()); |