Skip to content

Commit

Permalink
added basic OpenCV logging
Browse files Browse the repository at this point in the history
  • Loading branch information
grillbaer committed Nov 1, 2021
1 parent f3f732f commit fcd9d20
Show file tree
Hide file tree
Showing 3 changed files with 38 additions and 9 deletions.
8 changes: 7 additions & 1 deletion spectracle-app/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -231,8 +231,14 @@
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.30</version>
<version>1.7.32</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jul-to-slf4j</artifactId>
<version>1.7.32</version>
</dependency>


<dependency>
<groupId>org.junit.jupiter</groupId>
Expand Down
25 changes: 18 additions & 7 deletions spectracle-app/src/main/java/grillbaer/spectracle/Main.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,15 @@
import nu.pattern.OpenCV;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.slf4j.bridge.SLF4JBridgeHandler;

import javax.imageio.ImageIO;
import javax.swing.*;
import java.awt.*;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.util.List;
import java.util.logging.Level;
import java.util.stream.Collectors;
import java.util.stream.Stream;

Expand All @@ -23,13 +25,7 @@ public class Main {
private final static Logger LOG = LoggerFactory.getLogger(Main.class);

public static void main(String[] args) throws InterruptedException, InvocationTargetException {
LOG.info("Spectracle starting up ...");
LOG.info("OS Name: {}", System.getProperty("os.name"));
LOG.info("OS Arch: {}", System.getProperty("os.arch"));
LOG.info("OS Version: {}", System.getProperty("os.version"));
LOG.info("Java Version: {}", System.getProperty("java.version"));

Thread.setDefaultUncaughtExceptionHandler((t, e) -> LOG.error("Uncaught exception from thread {}", t.getName(), e));
initLogging();

LOG.info("Initializing OpenCV ...");
OpenCV.loadLocally();
Expand All @@ -55,6 +51,21 @@ public static void main(String[] args) throws InterruptedException, InvocationTa
});
}

private static void initLogging() {
LOG.info("================================================================================");
LOG.info("Spectracle starting up ...");

Thread.setDefaultUncaughtExceptionHandler((t, e) -> LOG.error("Uncaught exception from thread {}", t.getName(), e));

SLF4JBridgeHandler.removeHandlersForRootLogger();
SLF4JBridgeHandler.install(); // bridge JUL logging to SLF4j

LOG.info("OS Name: {}", System.getProperty("os.name"));
LOG.info("OS Arch: {}", System.getProperty("os.arch"));
LOG.info("OS Version: {}", System.getProperty("os.version"));
LOG.info("Java Version: {}", System.getProperty("java.version"));
}

private static List<? extends Image> getWindowIcons() {
return Stream.of(16, 24, 32, 48, 64, 128, 256)
.map(size -> {
Expand Down
14 changes: 13 additions & 1 deletion spectracle-app/src/main/resources/logback.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
<property name="LOG_DIR" value="${java.io.tmpdir}/spectracle"/>
<property name="PATTERN" value="%date{ISO8601,UTC} %-5level [%-20thread] %-36logger{35} - %msg%n"/>

<contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator"/>

<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_DIR}/spectracle.log</file>

Expand All @@ -26,7 +28,17 @@
</encoder>
</appender>

<root level="DEBUG">
<logger name="com.sun.jna" level="DEBUG" additivity="false">
<appender-ref ref="FILE"/>
<appender-ref ref="STDOUT"/>
</logger>

<logger name="nu.pattern" level="TRACE" additivity="false">
<appender-ref ref="FILE"/>
<appender-ref ref="STDOUT"/>
</logger>

<root level="INFO">
<appender-ref ref="FILE"/>
<appender-ref ref="STDOUT"/>
</root>
Expand Down

0 comments on commit fcd9d20

Please sign in to comment.