Developer's Guide - Java -Using Loupe with Java
Add the following dependency to your pom.xml:
<dependency>
<groupId>com.onloupe</groupId>
<artifactId>core</artifactId>
<version><-- desired version --></version>
</dependency>
Then rebuild your application to incorporate the agent into your application. With just the core agent you can record metrics and capture diagnostic information about your application.
Loupe includes support for many of the most popular Java logging frameworks. If you're using any of these (or using a dependency that does) just add the necessary appender. For more details, see Developer's Guide - Java - Using Loupe with other Logging Frameworks
The Loupe Agent needs a minimal configuration to identify the application, set the logging folder, and connect to a Loupe Server.
Once you've instrumented an application you'll want to set up a connection with Loupe Server so you can collect data from everywhere your application runs and start managing errors. You'll need to make a few changes to the configuration examples below to have them work:
- Replace "Your Loupe Service Name" with the name of your Loupe Cloud-hosted Service. If you don't have one yet, sign up for a free trial service.
- Replace "Your Product" and "Your Application" with friendly values for your application. A good analogy for Product is "Office" and Application is "Word", "Excel", and "PowerPoint".
Configuration via Properties File
Loupe can also be configured using properties files - loupe.properties for the name/value pair text properties format and loupe.xml for the XML file format. The properties file need only be placed on the classpath, and Loupe will detect and utilize it.
Configuration via Code
Loupe can be configured directly using its configuration object, for example:
AgentConfiguration configuration = AgentConfiguration.builder()
.publisher(PublisherConfiguration.builder()
.productName("Your Product")
.applicationName("Your Application")
.applicationVersion(new Version(1, 0, 0)).build())
.server(ServerConfiguration.builder()
.useGibraltarService(true)
.customerName("Your Loupe Service Name")
.sendAllApplications(true).build())
.sessionFile(SessionFileConfiguration.builder()
.folder("C:\\Temp").build())
.build();
The configuration object can then be injected in an explicit call to start Loupe:
Log.start(configuration);
Or, if using the loupe-api package:
Loupe.start(configuration);
For details on all of the configuration options, see <link to Java Configuration>
You may define which directory Loupe will use to store log files (.glf) by defining the following property:
SessionFile.Folder=<fully qualified path>
If this value is undefined, Loupe will attempt to place log files in the most sensible location available based on the state of the host operating system.
Log Path on Windows
First, Loupe will attempt to use the common application data folder:
C:\ProgramData\Gibraltar\Local Logs
If the common application data folder is unavailable, the local data folder will be attempted:
C:\Users\<user name>\AppData\Gibraltar\Local Logs
Failing both of these, the Java tmp io directory will be used.
Log Path on Linux
First, Loupe will attempt to use the common logging area:
/var/log/Gibraltar/Local Logs
By default, this folder is generally not available for write operations by users outside of it's group. This will need to be handled accordingly when provisioning the user running the Loupe agent or appenders.
Otherwise, Loupe will attempt to use a hidden folder in the user home directory:
/home/<user name>/.logs/Gibraltar/Local Logs
Failing both of these, the Java tmp io directory will be used.