diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 000000000..df590fd94 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,25 @@ +# This workflow will build a Java project with Maven + +name: Java CI with Maven + +on: + push: + branches: [ "master" ] + pull_request: + branches: [ "master" ] + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - name: Set up Java + uses: actions/setup-java@v2 + with: + java-version: '8' + distribution: 'zulu' + cache: 'maven' + - name: Build with Maven + run: mvn -B package --file pom.xml diff --git a/.github/workflows/sonarcloud.yml b/.github/workflows/sonarcloud.yml index 61fd97f79..498252aac 100644 --- a/.github/workflows/sonarcloud.yml +++ b/.github/workflows/sonarcloud.yml @@ -39,10 +39,10 @@ jobs: steps: - uses: actions/checkout@v2 - - name: Set up Java + - name: Set up JDK 11 uses: actions/setup-java@v2 with: - java-version: '8' + java-version: '11' distribution: 'zulu' cache: 'maven' diff --git a/.gitignore b/.gitignore index 0e13eebbe..04acdd956 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ buildNumber.properties .mvn/timing.properties # https://github.com/takari/maven-wrapper#usage-without-binary-jar .mvn/wrapper/maven-wrapper.jar +/logs/ diff --git a/pom.xml b/pom.xml index fd9087a99..6426c84b3 100644 --- a/pom.xml +++ b/pom.xml @@ -60,6 +60,26 @@ mastodon ${mastodon.version} + + + + org.slf4j + slf4j-api + + + + + ch.qos.logback + logback-classic + test + + + + ch.qos.logback + logback-core + test + + sc.fiji spim_data @@ -126,7 +146,7 @@ https://maven.scijava.org/content/groups/public - + coverage diff --git a/src/test/java/org/mastodon/mamut/deeplineage/StartImageJ.java b/src/test/java/org/mastodon/mamut/deeplineage/StartImageJ.java index f9236a9fe..75d57ab65 100644 --- a/src/test/java/org/mastodon/mamut/deeplineage/StartImageJ.java +++ b/src/test/java/org/mastodon/mamut/deeplineage/StartImageJ.java @@ -30,6 +30,10 @@ import org.scijava.Context; import org.scijava.ui.UIService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.lang.invoke.MethodHandles; /** * Shows the ImageJ main window, with Mastodon installed. @@ -38,8 +42,11 @@ */ public class StartImageJ { + private static final Logger logger = LoggerFactory.getLogger( MethodHandles.lookup().lookupClass() ); + public static void main( String... args ) { + logger.info( "Starting ImageJ..." ); Context context = new Context(); UIService uiService = context.service( UIService.class ); uiService.showUI(); diff --git a/src/test/resources/logback-test.xml b/src/test/resources/logback-test.xml new file mode 100644 index 000000000..264824a5a --- /dev/null +++ b/src/test/resources/logback-test.xml @@ -0,0 +1,125 @@ + + + + + + + + + %highlight(%-5level) %d{yyyy-MM-dd HH:mm:ss.SSS} [%blue(%t)] \(%file:%line\) - %m%n + + + + INFO + + + + + %highlight(%-5level) %d{yyyy-MM-dd HH:mm:ss.SSS} [%blue(%t)] \(%file:%line\) - %m%n + + + + WARN + + + + ${LOGS}/trace.log + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5p [%c{1}:%M:%L] - %m%n + + + + ${LOGS}/trace.%d{yyyy-MM-dd}.%i.log.zip + + 20MB + 60 + 1GB + + + TRACE + + + + ${LOGS}/debug.log + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5p [%c{1}:%M:%L] - %m%n + + + + ${LOGS}/debug.%d{yyyy-MM-dd}.%i.log.zip + + 20MB + 60 + 1GB + + + DEBUG + + + + ${LOGS}/info.log + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5p [%c{1}:%M:%L] - %m%n + + + + ${LOGS}/info.%d{yyyy-MM-dd}.%i.log.zip + + 20MB + 60 + 1GB + + + INFO + + + + ${LOGS}/warn.log + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5p [%c{1}:%M:%L] - %m%n + + + + ${LOGS}/warn.%d{yyyy-MM-dd}.%i.log.zip + + 20MB + 60 + 1GB + + + WARN + + + + ${LOGS}/error.log + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5p [%c{1}:%M:%L] - %m%n + + + + ${LOGS}/error.%d{yyyy-MM-dd}.%i.log.zip + + 20MB + 60 + 1GB + + + ERROR + + + + + + + + + + + + + + + + + +