mirror of
https://github.com/PhotonVision/photonvision
synced 2026-06-19 00:41:41 +00:00
[backend] Logging additions (#24)
* Remove de_pest log level, add instanced shouldLog * Rename Server, VisionProcess LogGroup to WebServer, VisionModule * Rename Level to LogLevel * Added lambda logger methods * Updated Platform util class, added bootup logging * Naming fix * Fix errors, apply spotless * Apply spotless
This commit is contained in:
@@ -17,16 +17,17 @@
|
||||
|
||||
package org.photonvision;
|
||||
|
||||
import edu.wpi.cscore.CameraServerCvJNI;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import org.photonvision.common.configuration.CameraConfiguration;
|
||||
import org.photonvision.common.configuration.ConfigManager;
|
||||
import org.photonvision.common.datatransfer.networktables.NetworkTablesManager;
|
||||
import org.photonvision.common.logging.Level;
|
||||
import org.photonvision.common.logging.LogGroup;
|
||||
import org.photonvision.common.logging.LogLevel;
|
||||
import org.photonvision.common.logging.Logger;
|
||||
import org.photonvision.common.networking.NetworkManager;
|
||||
import org.photonvision.common.util.TestUtils;
|
||||
import org.photonvision.common.util.Platform;
|
||||
import org.photonvision.server.Server;
|
||||
import org.photonvision.vision.camera.USBCameraSource;
|
||||
import org.photonvision.vision.pipeline.CVPipelineSettings;
|
||||
@@ -36,33 +37,59 @@ import org.photonvision.vision.processes.VisionSourceManager;
|
||||
|
||||
public class Main {
|
||||
private static final Logger logger = new Logger(Main.class, LogGroup.General);
|
||||
|
||||
public static final int DEFAULT_WEBPORT = 5800;
|
||||
|
||||
public static void main(String[] args) {
|
||||
Logger.setLevel(LogGroup.Camera, Level.DE_PEST);
|
||||
Logger.setLevel(LogGroup.Server, Level.DE_PEST);
|
||||
Logger.setLevel(LogGroup.VisionProcess, Level.DE_PEST);
|
||||
Logger.setLevel(LogGroup.Data, Level.DE_PEST);
|
||||
Logger.setLevel(LogGroup.General, Level.DE_PEST);
|
||||
private static String getVersion() {
|
||||
return "2020.7.1"; // TODO: grab from gradle/resource somehow
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
Logger.setLevel(LogGroup.Camera, LogLevel.TRACE);
|
||||
Logger.setLevel(LogGroup.WebServer, LogLevel.TRACE);
|
||||
Logger.setLevel(LogGroup.VisionModule, LogLevel.TRACE);
|
||||
Logger.setLevel(LogGroup.Data, LogLevel.TRACE);
|
||||
Logger.setLevel(LogGroup.General, LogLevel.TRACE);
|
||||
|
||||
logger.info("Logging initialized!");
|
||||
|
||||
logger.info(
|
||||
"Starting PhotonVision version "
|
||||
+ getVersion()
|
||||
+ " on "
|
||||
+ Platform.CurrentPlatform.toString());
|
||||
try {
|
||||
logger.info("Loading native libraries...");
|
||||
CameraServerCvJNI.forceLoad();
|
||||
} catch (Exception e) {
|
||||
logger.error("Failed to load native libraries!");
|
||||
e.printStackTrace(); // TODO: redirect stacktrace to Logger stream somehow
|
||||
}
|
||||
logger.info("Native libaries loaded.");
|
||||
|
||||
TestUtils.loadLibraries();
|
||||
ConfigManager.getInstance(); // init config manager
|
||||
NetworkManager.getInstance().initialize(false); // basically empty. todo: link to ConfigManager?
|
||||
NetworkTablesManager.setClientMode("127.0.0.1");
|
||||
|
||||
HashMap<String, CameraConfiguration> camConfigs =
|
||||
ConfigManager.getInstance().getConfig().getCameraConfigurations();
|
||||
logger.info("Loaded " + camConfigs.size() + " configs from disk!");
|
||||
logger.info("Loaded " + camConfigs.size() + " configs from disk.");
|
||||
List<VisionSource> sources = VisionSourceManager.loadAllSources(camConfigs.values());
|
||||
|
||||
var collectedSources = new HashMap<VisionSource, List<CVPipelineSettings>>();
|
||||
for (var src : sources) {
|
||||
var usbSrc = (USBCameraSource) src;
|
||||
collectedSources.put(usbSrc, usbSrc.configuration.pipelineSettings);
|
||||
logger.trace(
|
||||
() -> {
|
||||
return "Matched config for camera \""
|
||||
+ src.getFrameProvider().getName()
|
||||
+ "\" and loaded "
|
||||
+ usbSrc.configuration.pipelineSettings.size()
|
||||
+ " pipelines";
|
||||
});
|
||||
}
|
||||
|
||||
logger.info("Adding " + collectedSources.size() + " configs to VMM");
|
||||
logger.info("Adding " + collectedSources.size() + " configs to VMM.");
|
||||
VisionModuleManager.getInstance().addSources(collectedSources);
|
||||
ConfigManager.getInstance().addCameraConfigurations(collectedSources);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user