Files
allwpilib/src/main/java/edu/wpi/first/networktables/LogMessage.java

76 lines
2.0 KiB
Java
Raw Normal View History

Implement independent instances. Previously, most of the classes were implemented as singletons so only one instance was possible. This change adds an instance handle-based API. In Java, this API is located in a different package than the old API (edu.wpi.first.networktables). Backwards compatibility with ITable and the old NetworkTable API is largely maintained, but a handful of classes have moved to the new package in Java (ConnectionInfo and PersistentException), and the old JNI has been completed replaced. Also: - Move SetTeam implementation to Dispatcher. - Consistently pass time through Java and C++ Value API. - Rename nt_Value.h to NetworkTableValue.h for consistency with Java. - Improve documentation - Make C++ and Java APIs more consistent - Document RPC functions and support RPC in Java. - Add polling features for entry and connection listeners and use them to move callback threads to Java level. - Remove thread start and stop hooks (as polling is available). - Make Notifiers, RpcServer, Dispatcher, and Storage mockable. - Set NOTIFY_NEW on immediate entry notifications. - Make GetTable("/") and GetTable("") equivalent. - Generate local notification for flags update when loading persistent file. And many unit test updates/changes: - Use InitGoogleMock instead of InitGoogleTest in test main. - Move test printers to TestPrinter.h/cpp. - Provide printers for StringRef, EntryNotifier, and Handle. - StorageTest: Check notifications. - Add entry notifier unit tests. - Storage: Add test for incoming entry assignment. - Update connection listener tests. - Add entry listener unit tests. Fixes #11, #140, #189, #190, #192, #193, #221
2017-04-23 10:26:17 -07:00
/*----------------------------------------------------------------------------*/
/* Copyright (c) FIRST 2017. All Rights Reserved. */
/* Open Source Software - may be modified and shared by FRC teams. The code */
/* must be accompanied by the FIRST BSD license file in the root directory of */
/* the project. */
/*----------------------------------------------------------------------------*/
package edu.wpi.first.networktables;
/**
* NetworkTables log message.
*/
public final class LogMessage {
/**
* Logging levels.
*/
public static final int kCritical = 50;
public static final int kError = 40;
public static final int kWarning = 30;
public static final int kInfo = 20;
public static final int kDebug = 10;
public static final int kDebug1 = 9;
public static final int kDebug2 = 8;
public static final int kDebug3 = 7;
public static final int kDebug4 = 6;
/**
* The logger that generated the message.
*/
public final int logger;
/**
* Log level of the message.
*/
public final int level;
/**
* The filename of the source file that generated the message.
*/
public final String filename;
/**
* The line number in the source file that generated the message.
*/
public final int line;
/**
* The message.
*/
public final String message;
/** Constructor.
* This should generally only be used internally to NetworkTables.
* @param inst Instance
* @param logger Logger
* @param level Log level
* @param filename Filename
* @param line Line number
* @param message Message
*/
public LogMessage(NetworkTableInstance inst, int logger, int level, String filename, int line, String message) {
this.inst = inst;
this.logger = logger;
this.level = level;
this.filename = filename;
this.line = line;
this.message = message;
}
private final NetworkTableInstance inst;
NetworkTableInstance getInstance() {
return inst;
}
}