The Jefferson Lab Java Logbook API for programmatic access to the logbook server.
This library requires a Java 8+ JVM and standard library at run time.
You can obtain the library jar file from the Maven Central repository directly or from a Maven friendly build tool with the following coordinates (Gradle example shown):
implementation 'org.jlab:jlog:<version>'
Check the Release Notes to see what has changed in each version.
import org.jlab.jlog.LogEntry;
import org.jlab.jlog.exception.LogException;
public class HelloWorldDemo {
public static void main(String[] args) throws LogException {
LogEntry entry = new LogEntry("Hello World", "TLOG");
long lognumber = entry.submitNow();
System.out.println("Successfully submitted log entry number: " + lognumber);
}
}
The default configuration properties are located in jlog-default.properties. You can override them by creating your own jlog.properties and including it in your home directory. Or you can programmatically set properties within a Java application using Library.setConfiguration().
In order to interact with the logbook server users must authenticate. This is done using a logbook server client certificate, which is assumed to be located in the user's home directory in a file named .elogcert. You can override the location of the certificate with LogEntry.setClientCertificatePath().
This project is built with Java 17 (compiled to Java 8 bytecode), and uses the Gradle 7 build tool to automatically download dependencies and build the project from source:
git clone https://github.com/JeffersonLab/jlog
cd jlog
gradlew build
Note: If you do not already have Gradle installed, it will be installed automatically by the wrapper script included in the source
Note for JLab On-Site Users: Jefferson Lab has an intercepting proxy
- Bump the version number in the build.gradle file and commit and push to GitHub (using Semantic Versioning).
- Create a new release on the GitHub Releases page corresponding to the version in build.gradle (Enumerate changes and link issues).
- A new artifact should be automatically published to maven central when a new release is published on GitHub, however if something goes wrong you can also manually run the Publish to Maven Central GitHub Action. See Gradle Publish Notes
- Update javadocs by copying them from build dir into gh-pages branch and updating index.html (commit, push). This should occur automatically via Publish to gh-pages GitHub Action.