mirror of
https://github.com/traccar/traccar.git
synced 2026-06-13 03:15:55 -04:00
Configurable show unknown logs
This commit is contained in:
@@ -14,6 +14,7 @@
|
||||
<entry key='web.path'>./modern</entry>
|
||||
<entry key='web.sanitize'>false</entry>
|
||||
<entry key='web.persistSession'>false</entry>
|
||||
<entry key='web.showUnknownDevices'>true</entry>
|
||||
|
||||
<entry key='geocoder.enable'>true</entry>
|
||||
<entry key='geocoder.type'>locationiq</entry>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2019 - 2023 Anton Tananaev (anton@traccar.org)
|
||||
* Copyright 2019 - 2024 Anton Tananaev (anton@traccar.org)
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -1247,7 +1247,7 @@ public final class Keys {
|
||||
|
||||
/**
|
||||
* Maximum time period for reports in seconds. Can be useful to prevent users to request unreasonably long reports.
|
||||
* By default there is no limit.
|
||||
* By default, there is no limit.
|
||||
*/
|
||||
public static final ConfigKey<Long> REPORT_PERIOD_LIMIT = new LongConfigKey(
|
||||
"report.periodLimit",
|
||||
@@ -1798,6 +1798,13 @@ public final class Keys {
|
||||
"web.url",
|
||||
List.of(KeyType.CONFIG));
|
||||
|
||||
/**
|
||||
* Show logs from unknown devices.
|
||||
*/
|
||||
public static final ConfigKey<Boolean> WEB_SHOW_UNKNOWN_DEVICES = new BooleanConfigKey(
|
||||
"web.showUnknownDevices",
|
||||
List.of(KeyType.CONFIG));
|
||||
|
||||
/**
|
||||
* Output logging to the standard terminal output instead of a log file.
|
||||
*/
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2015 - 2023 Anton Tananaev (anton@traccar.org)
|
||||
* Copyright 2015 - 2024 Anton Tananaev (anton@traccar.org)
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -63,6 +63,7 @@ public class ConnectionManager implements BroadcastInterface {
|
||||
private static final Logger LOGGER = LoggerFactory.getLogger(ConnectionManager.class);
|
||||
|
||||
private final long deviceTimeout;
|
||||
private final boolean showUnknownDevices;
|
||||
|
||||
private final Map<Long, DeviceSession> sessionsByDeviceId = new ConcurrentHashMap<>();
|
||||
private final Map<SocketAddress, Map<String, DeviceSession>> sessionsByEndpoint = new ConcurrentHashMap<>();
|
||||
@@ -95,6 +96,7 @@ public class ConnectionManager implements BroadcastInterface {
|
||||
this.broadcastService = broadcastService;
|
||||
this.deviceLookupService = deviceLookupService;
|
||||
deviceTimeout = config.getLong(Keys.STATUS_TIMEOUT);
|
||||
showUnknownDevices = config.getBoolean(Keys.WEB_SHOW_UNKNOWN_DEVICES);
|
||||
broadcastService.registerListener(this);
|
||||
}
|
||||
|
||||
@@ -344,7 +346,7 @@ public class ConnectionManager implements BroadcastInterface {
|
||||
var sessions = sessionsByEndpoint.getOrDefault(record.getAddress(), Map.of());
|
||||
if (sessions.isEmpty()) {
|
||||
String unknownUniqueId = unknownByEndpoint.get(record.getAddress());
|
||||
if (unknownUniqueId != null) {
|
||||
if (unknownUniqueId != null && showUnknownDevices) {
|
||||
record.setUniqueId(unknownUniqueId);
|
||||
listeners.values().stream()
|
||||
.flatMap(Set::stream)
|
||||
|
||||
Reference in New Issue
Block a user