From a68959b7bf4a8bb965a7da515e28648de2b65804 Mon Sep 17 00:00:00 2001 From: Will Sargent Date: Sat, 18 May 2019 14:26:12 -0700 Subject: [PATCH] Audio markers and appenders (#44) * Make audio markers work * Make tests for audio markers * Updates --- logback-audio/gradle.properties | 1 + logback-audio/logback-audio.gradle | 15 ++ .../logback/audio/AudioLevelAppender.java | 44 +++++ .../logback/audio/AudioMarker.java | 50 ++++++ .../logback/audio/AudioMarkerAppender.java | 44 +++++ .../logback/audio/FilePlayer.java | 59 +++++++ .../logback/audio/PlayMethods.java | 47 +++++ .../tersesystems/logback/audio/Player.java | 15 ++ .../logback/audio/PlayerAction.java | 81 +++++++++ .../logback/audio/PlayerAttachable.java | 17 ++ .../logback/audio/ResourcePlayer.java | 57 ++++++ .../logback/audio/SimplePlayer.java | 69 ++++++++ .../tersesystems/logback/audio/URLPlayer.java | 33 ++++ .../tersesystems/logback/audio/TestAudio.java | 99 +++++++++++ logback-audio/src/test/resources/bark.ogg | Bin 0 -> 13322 bytes logback-audio/src/test/resources/drip.ogg | Bin 0 -> 8495 bytes logback-audio/src/test/resources/glass.ogg | Bin 0 -> 18999 bytes .../resources/logback-with-level-appender.xml | 92 ++++++++++ .../logback-with-marker-appender.xml | 28 +++ logback-audio/src/test/resources/message.ogg | Bin 0 -> 10429 bytes logback-audio/src/test/resources/sample.ogg | Bin 0 -> 112152 bytes .../logback/TerseBasicMarker.java | 164 ++++++++++++++++++ settings.gradle | 3 +- 23 files changed, 917 insertions(+), 1 deletion(-) create mode 100644 logback-audio/gradle.properties create mode 100644 logback-audio/logback-audio.gradle create mode 100644 logback-audio/src/main/java/com/tersesystems/logback/audio/AudioLevelAppender.java create mode 100644 logback-audio/src/main/java/com/tersesystems/logback/audio/AudioMarker.java create mode 100644 logback-audio/src/main/java/com/tersesystems/logback/audio/AudioMarkerAppender.java create mode 100644 logback-audio/src/main/java/com/tersesystems/logback/audio/FilePlayer.java create mode 100644 logback-audio/src/main/java/com/tersesystems/logback/audio/PlayMethods.java create mode 100644 logback-audio/src/main/java/com/tersesystems/logback/audio/Player.java create mode 100644 logback-audio/src/main/java/com/tersesystems/logback/audio/PlayerAction.java create mode 100644 logback-audio/src/main/java/com/tersesystems/logback/audio/PlayerAttachable.java create mode 100644 logback-audio/src/main/java/com/tersesystems/logback/audio/ResourcePlayer.java create mode 100644 logback-audio/src/main/java/com/tersesystems/logback/audio/SimplePlayer.java create mode 100644 logback-audio/src/main/java/com/tersesystems/logback/audio/URLPlayer.java create mode 100644 logback-audio/src/test/java/com/tersesystems/logback/audio/TestAudio.java create mode 100644 logback-audio/src/test/resources/bark.ogg create mode 100644 logback-audio/src/test/resources/drip.ogg create mode 100644 logback-audio/src/test/resources/glass.ogg create mode 100644 logback-audio/src/test/resources/logback-with-level-appender.xml create mode 100644 logback-audio/src/test/resources/logback-with-marker-appender.xml create mode 100644 logback-audio/src/test/resources/message.ogg create mode 100644 logback-audio/src/test/resources/sample.ogg create mode 100644 logback-core/src/main/java/com/tersesystems/logback/TerseBasicMarker.java diff --git a/logback-audio/gradle.properties b/logback-audio/gradle.properties new file mode 100644 index 00000000..06520429 --- /dev/null +++ b/logback-audio/gradle.properties @@ -0,0 +1 @@ +project_description = Logback Audio Markers \ No newline at end of file diff --git a/logback-audio/logback-audio.gradle b/logback-audio/logback-audio.gradle new file mode 100644 index 00000000..63b21e27 --- /dev/null +++ b/logback-audio/logback-audio.gradle @@ -0,0 +1,15 @@ +dependencies { + compile project(':logback-core') + compile group: 'com.googlecode.soundlibs', name: 'mp3spi', version: '1.9.5.4' + compile group: 'com.github.trilarion', name: 'vorbis-support', version: '1.1.0' +} + +config { + javadoc { + options.charSet = 'UTF-8' + options.encoding = 'UTF-8' + options.docEncoding = 'UTF-8' + options.use = true + options.links = [jvmToJavadoc(targetCompatibility)] + javadocFromDependencies(configurations.compile) + } +} diff --git a/logback-audio/src/main/java/com/tersesystems/logback/audio/AudioLevelAppender.java b/logback-audio/src/main/java/com/tersesystems/logback/audio/AudioLevelAppender.java new file mode 100644 index 00000000..cd6fe26e --- /dev/null +++ b/logback-audio/src/main/java/com/tersesystems/logback/audio/AudioLevelAppender.java @@ -0,0 +1,44 @@ +/* + * SPDX-License-Identifier: CC0-1.0 + * + * Copyright 2018-2019 Will Sargent. + * + * Licensed under the CC0 Public Domain Dedication; + * You may obtain a copy of the License at + * + * http://creativecommons.org/publicdomain/zero/1.0/ + */ +package com.tersesystems.logback.audio; + +import ch.qos.logback.classic.spi.ILoggingEvent; +import ch.qos.logback.core.AppenderBase; + +public class AudioLevelAppender extends AppenderBase implements PlayerAttachable { + + private Player player; + + @Override + protected void append(ILoggingEvent eventObject) { + player.play(); + } + + @Override + public void addPlayer(Player player) { + addInfo("player = " + player); + this.player = player; + } + + @Override + public void clearAllPlayers() { + this.player = null; + } + + @Override + public void start() { + if (player == null) { + addError("No player found!"); + } else { + super.start(); + } + } +} diff --git a/logback-audio/src/main/java/com/tersesystems/logback/audio/AudioMarker.java b/logback-audio/src/main/java/com/tersesystems/logback/audio/AudioMarker.java new file mode 100644 index 00000000..3fc13d1f --- /dev/null +++ b/logback-audio/src/main/java/com/tersesystems/logback/audio/AudioMarker.java @@ -0,0 +1,50 @@ +/* + * SPDX-License-Identifier: CC0-1.0 + * + * Copyright 2018-2019 Will Sargent. + * + * Licensed under the CC0 Public Domain Dedication; + * You may obtain a copy of the License at + * + * http://creativecommons.org/publicdomain/zero/1.0/ + */ +package com.tersesystems.logback.audio; + +import com.tersesystems.logback.TerseBasicMarker; + +import java.io.File; +import java.io.InputStream; +import java.net.URL; +import java.nio.file.Path; + +public class AudioMarker extends TerseBasicMarker implements Player { + + private static final String MARKER_NAME = "TS_AUDIO_MARKER"; + + private final Player player; + + public AudioMarker(URL url) { + super(MARKER_NAME); + player = SimplePlayer.fromURL(url); + } + + public AudioMarker(Path path) { + super(MARKER_NAME); + player = SimplePlayer.fromPath(path); + } + + public AudioMarker(InputStream inputStream, String name) { + super(name); + player = SimplePlayer.fromInputStream(inputStream); + } + + + public AudioMarker(Player player, String name) { + super(name); + this.player = player; + } + + public void play() { + player.play(); + } +} diff --git a/logback-audio/src/main/java/com/tersesystems/logback/audio/AudioMarkerAppender.java b/logback-audio/src/main/java/com/tersesystems/logback/audio/AudioMarkerAppender.java new file mode 100644 index 00000000..ee864515 --- /dev/null +++ b/logback-audio/src/main/java/com/tersesystems/logback/audio/AudioMarkerAppender.java @@ -0,0 +1,44 @@ +/* + * SPDX-License-Identifier: CC0-1.0 + * + * Copyright 2018-2019 Will Sargent. + * + * Licensed under the CC0 Public Domain Dedication; + * You may obtain a copy of the License at + * + * http://creativecommons.org/publicdomain/zero/1.0/ + */ +package com.tersesystems.logback.audio; + +import ch.qos.logback.classic.spi.ILoggingEvent; +import ch.qos.logback.core.AppenderBase; +import com.tersesystems.logback.audio.Player; +import org.slf4j.Marker; + +import java.util.Iterator; + +public class AudioMarkerAppender extends AppenderBase { + + @Override + protected void append(ILoggingEvent eventObject) { + writePlayerMarkerIfNecessary(eventObject.getMarker()); + } + + private void writePlayerMarkerIfNecessary(Marker marker) { + if (marker != null) { + if (isPlayerMarker(marker)) { + ((Player) marker).play(); + } + + if (marker.hasReferences()) { + for (Iterator i = marker.iterator(); i.hasNext();) { + writePlayerMarkerIfNecessary(i.next()); + } + } + } + } + + private static boolean isPlayerMarker(Marker marker) { + return marker instanceof Player; + } +} diff --git a/logback-audio/src/main/java/com/tersesystems/logback/audio/FilePlayer.java b/logback-audio/src/main/java/com/tersesystems/logback/audio/FilePlayer.java new file mode 100644 index 00000000..8ccfcd28 --- /dev/null +++ b/logback-audio/src/main/java/com/tersesystems/logback/audio/FilePlayer.java @@ -0,0 +1,59 @@ +/* + * SPDX-License-Identifier: CC0-1.0 + * + * Copyright 2018-2019 Will Sargent. + * + * Licensed under the CC0 Public Domain Dedication; + * You may obtain a copy of the License at + * + * http://creativecommons.org/publicdomain/zero/1.0/ + */ +package com.tersesystems.logback.audio; + +import ch.qos.logback.core.spi.ContextAwareBase; +import ch.qos.logback.core.spi.LifeCycle; + +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; + +public class FilePlayer extends ContextAwareBase implements Player, LifeCycle { + + private String file; + private Path path; + private volatile boolean started = false; + + public FilePlayer() { + } + + public void setFile(String file) { + this.file = file; + } + + @Override + public void play() { + SimplePlayer.fromPath(path).play(); + } + + @Override + public void start() { + path = Paths.get(file); + if (Files.exists(path)) { + started = true; + } else { + addError(String.format("Path %s does not exist!", path)); + started = false; + } + } + + @Override + public void stop() { + path = null; + started = false; + } + + @Override + public boolean isStarted() { + return started; + } +} diff --git a/logback-audio/src/main/java/com/tersesystems/logback/audio/PlayMethods.java b/logback-audio/src/main/java/com/tersesystems/logback/audio/PlayMethods.java new file mode 100644 index 00000000..300bb615 --- /dev/null +++ b/logback-audio/src/main/java/com/tersesystems/logback/audio/PlayMethods.java @@ -0,0 +1,47 @@ +/* + * SPDX-License-Identifier: CC0-1.0 + * + * Copyright 2018-2019 Will Sargent. + * + * Licensed under the CC0 Public Domain Dedication; + * You may obtain a copy of the License at + * + * http://creativecommons.org/publicdomain/zero/1.0/ + */ +package com.tersesystems.logback.audio; + +import javax.sound.sampled.*; +import java.io.IOException; +import java.util.function.Supplier; + +public interface PlayMethods { + + default void play(Supplier supplier) { + // https://docs.oracle.com/javase/tutorial/sound/playing.html + try (final AudioInputStream in = supplier.get()) { + AudioFormat baseFormat = in.getFormat(); + AudioFormat targetFormat = new AudioFormat(AudioFormat.Encoding.PCM_SIGNED, + baseFormat.getSampleRate(), + 16, + baseFormat.getChannels(), + baseFormat.getChannels() * 2, + baseFormat.getSampleRate(), + false); + try (final AudioInputStream dataIn = AudioSystem.getAudioInputStream(targetFormat, in)) { + DataLine.Info info = new DataLine.Info(Clip.class, targetFormat); + Clip clip = (Clip) AudioSystem.getLine(info); + if (clip != null) { + clip.addLineListener(event -> { + if (event.getType() == LineEvent.Type.STOP) + clip.close(); + }); + + clip.open(dataIn); + clip.start(); + } + } + } catch (LineUnavailableException | IOException e) { + throw new IllegalStateException(e); + } + } +} \ No newline at end of file diff --git a/logback-audio/src/main/java/com/tersesystems/logback/audio/Player.java b/logback-audio/src/main/java/com/tersesystems/logback/audio/Player.java new file mode 100644 index 00000000..4d0889aa --- /dev/null +++ b/logback-audio/src/main/java/com/tersesystems/logback/audio/Player.java @@ -0,0 +1,15 @@ +/* + * SPDX-License-Identifier: CC0-1.0 + * + * Copyright 2018-2019 Will Sargent. + * + * Licensed under the CC0 Public Domain Dedication; + * You may obtain a copy of the License at + * + * http://creativecommons.org/publicdomain/zero/1.0/ + */ +package com.tersesystems.logback.audio; + +public interface Player { + void play(); +} diff --git a/logback-audio/src/main/java/com/tersesystems/logback/audio/PlayerAction.java b/logback-audio/src/main/java/com/tersesystems/logback/audio/PlayerAction.java new file mode 100644 index 00000000..5f806636 --- /dev/null +++ b/logback-audio/src/main/java/com/tersesystems/logback/audio/PlayerAction.java @@ -0,0 +1,81 @@ +/* + * SPDX-License-Identifier: CC0-1.0 + * + * Copyright 2018-2019 Will Sargent. + * + * Licensed under the CC0 Public Domain Dedication; + * You may obtain a copy of the License at + * + * http://creativecommons.org/publicdomain/zero/1.0/ + */ +package com.tersesystems.logback.audio; + +import ch.qos.logback.core.Context; +import ch.qos.logback.core.joran.action.Action; +import ch.qos.logback.core.joran.spi.ActionException; +import ch.qos.logback.core.joran.spi.InterpretationContext; +import ch.qos.logback.core.spi.ContextAwareBase; +import ch.qos.logback.core.spi.LifeCycle; +import ch.qos.logback.core.util.OptionHelper; +import org.xml.sax.Attributes; + +public class PlayerAction extends Action { + Player player; + private boolean inError = false; + + @Override + public void begin(InterpretationContext ic, String localName, Attributes attributes) throws ActionException { + Object o = ic.peekObject(); + + if (!(o instanceof PlayerAttachable)) { + String errMsg = "Could not find an CensorAttachable at the top of execution stack. Near [" + localName + "] line " + getLineNumber(ic); + inError = true; + addInfo(errMsg); // This can trigger in an "if" block from janino, so it may not be serious... + return; + } + + PlayerAttachable playerAttachable = (PlayerAttachable) o; + + String className = attributes.getValue(CLASS_ATTRIBUTE); + if (OptionHelper.isEmpty(className)) { + addError("Missing class name for player. Near [" + localName + "] line " + getLineNumber(ic)); + inError = true; + return; + } + + try { + addInfo("About to instantiate player of type [" + className + "]"); + player = (Player) OptionHelper.instantiateByClassName(className, Player.class, context); + + Context icContext = ic.getContext(); + if (player instanceof ContextAwareBase) { + ((ContextAwareBase) player).setContext(icContext); + } + + ic.pushObject(player); + } catch (Exception oops) { + inError = true; + addError("Could not create player.", oops); + throw new ActionException(oops); + } + playerAttachable.addPlayer(player); + } + + @Override + public void end(InterpretationContext ic, String name) throws ActionException { + if (inError) { + return; + } + + if (player instanceof LifeCycle) { + ((LifeCycle) player).start(); + } + + Object o = ic.peekObject(); + if (o != player) { + addWarn("The object at the end of the stack is not the player pushed earlier."); + } else { + ic.popObject(); + } + } +} diff --git a/logback-audio/src/main/java/com/tersesystems/logback/audio/PlayerAttachable.java b/logback-audio/src/main/java/com/tersesystems/logback/audio/PlayerAttachable.java new file mode 100644 index 00000000..aa34863a --- /dev/null +++ b/logback-audio/src/main/java/com/tersesystems/logback/audio/PlayerAttachable.java @@ -0,0 +1,17 @@ +/* + * SPDX-License-Identifier: CC0-1.0 + * + * Copyright 2018-2019 Will Sargent. + * + * Licensed under the CC0 Public Domain Dedication; + * You may obtain a copy of the License at + * + * http://creativecommons.org/publicdomain/zero/1.0/ + */ +package com.tersesystems.logback.audio; + +public interface PlayerAttachable { + void addPlayer(Player player); + + void clearAllPlayers(); +} diff --git a/logback-audio/src/main/java/com/tersesystems/logback/audio/ResourcePlayer.java b/logback-audio/src/main/java/com/tersesystems/logback/audio/ResourcePlayer.java new file mode 100644 index 00000000..27121884 --- /dev/null +++ b/logback-audio/src/main/java/com/tersesystems/logback/audio/ResourcePlayer.java @@ -0,0 +1,57 @@ +/* + * SPDX-License-Identifier: CC0-1.0 + * + * Copyright 2018-2019 Will Sargent. + * + * Licensed under the CC0 Public Domain Dedication; + * You may obtain a copy of the License at + * + * http://creativecommons.org/publicdomain/zero/1.0/ + */ +package com.tersesystems.logback.audio; + +import ch.qos.logback.core.spi.ContextAwareBase; +import ch.qos.logback.core.spi.LifeCycle; + +import java.net.URL; + +public class ResourcePlayer extends ContextAwareBase implements Player, LifeCycle { + + private String resource; + private URL resourceURL; + private volatile boolean started = false; + + public ResourcePlayer() { + } + + public void setResource(String resource) { + this.resource = resource; + } + + @Override + public void play() { + SimplePlayer.fromURL(resourceURL).play(); + } + + @Override + public void start() { + resourceURL = getClass().getResource(resource); + if (resourceURL != null) { + started = true; + } else { + addError(String.format("Resource %s does not exist!", resource)); + started = false; + } + } + + @Override + public void stop() { + resource = null; + started = false; + } + + @Override + public boolean isStarted() { + return started; + } +} diff --git a/logback-audio/src/main/java/com/tersesystems/logback/audio/SimplePlayer.java b/logback-audio/src/main/java/com/tersesystems/logback/audio/SimplePlayer.java new file mode 100644 index 00000000..d99d2361 --- /dev/null +++ b/logback-audio/src/main/java/com/tersesystems/logback/audio/SimplePlayer.java @@ -0,0 +1,69 @@ +/* + * SPDX-License-Identifier: CC0-1.0 + * + * Copyright 2018-2019 Will Sargent. + * + * Licensed under the CC0 Public Domain Dedication; + * You may obtain a copy of the License at + * + * http://creativecommons.org/publicdomain/zero/1.0/ + */ +package com.tersesystems.logback.audio; + +import javax.sound.sampled.AudioInputStream; +import javax.sound.sampled.UnsupportedAudioFileException; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.net.URL; +import java.nio.file.Path; +import java.util.function.Supplier; + +import static javax.sound.sampled.AudioSystem.getAudioInputStream; + +public class SimplePlayer implements PlayMethods, Player { + + private final Supplier supplier; + + protected SimplePlayer(Supplier supplier) { + this.supplier = supplier; + } + + public static Player fromURL(URL url) { + return new SimplePlayer(() -> { + try { + return getAudioInputStream(url); + } catch (UnsupportedAudioFileException | IOException e) { + e.printStackTrace(); + } + return null; + }); + } + + public static Player fromPath(Path path) { + return new SimplePlayer(() -> { + try { + return getAudioInputStream(path.toFile()); + } catch (UnsupportedAudioFileException | IOException e) { + e.printStackTrace(); + } + return null; + }); + } + + public static Player fromInputStream(InputStream inputStream) { + return new SimplePlayer(() -> { + try { + return getAudioInputStream(inputStream); + } catch (UnsupportedAudioFileException | IOException e) { + e.printStackTrace(); + } + return null; + }); + } + + @Override + public void play() { + play(supplier); + } +} diff --git a/logback-audio/src/main/java/com/tersesystems/logback/audio/URLPlayer.java b/logback-audio/src/main/java/com/tersesystems/logback/audio/URLPlayer.java new file mode 100644 index 00000000..9d771824 --- /dev/null +++ b/logback-audio/src/main/java/com/tersesystems/logback/audio/URLPlayer.java @@ -0,0 +1,33 @@ +/* + * SPDX-License-Identifier: CC0-1.0 + * + * Copyright 2018-2019 Will Sargent. + * + * Licensed under the CC0 Public Domain Dedication; + * You may obtain a copy of the License at + * + * http://creativecommons.org/publicdomain/zero/1.0/ + */ +package com.tersesystems.logback.audio; + +import ch.qos.logback.core.spi.ContextAwareBase; + +import java.net.URL; + +public class URLPlayer extends ContextAwareBase implements Player { + + private URL url; + + public URLPlayer() { + } + + public void URLPlayer(URL url) { + this.url = url; + } + + @Override + public void play() { + SimplePlayer.fromURL(url).play(); + } + +} diff --git a/logback-audio/src/test/java/com/tersesystems/logback/audio/TestAudio.java b/logback-audio/src/test/java/com/tersesystems/logback/audio/TestAudio.java new file mode 100644 index 00000000..afe1efc2 --- /dev/null +++ b/logback-audio/src/test/java/com/tersesystems/logback/audio/TestAudio.java @@ -0,0 +1,99 @@ +/* + * SPDX-License-Identifier: CC0-1.0 + * + * Copyright 2018-2019 Will Sargent. + * + * Licensed under the CC0 Public Domain Dedication; + * You may obtain a copy of the License at + * + * http://creativecommons.org/publicdomain/zero/1.0/ + */ +package com.tersesystems.logback.audio; + +import ch.qos.logback.classic.Logger; +import ch.qos.logback.classic.LoggerContext; +import ch.qos.logback.classic.joran.JoranConfigurator; +import ch.qos.logback.core.joran.spi.JoranException; +import org.junit.Test; +import org.slf4j.Marker; + +import java.net.URL; +import java.nio.file.Path; +import java.nio.file.Paths; + + +public class TestAudio { + + @Test + public void testMarkerWithURL() throws JoranException, InterruptedException { + LoggerContext context = new LoggerContext(); + + URL resource = getClass().getResource("/logback-with-marker-appender.xml"); + JoranConfigurator configurator = new JoranConfigurator(); + configurator.setContext(context); + configurator.doConfigure(resource); + + Logger logger = context.getLogger("some.random.Logger"); + + URL audioURL = getClass().getResource("/bark.ogg"); + Marker marker = new AudioMarker(audioURL); + logger.info(marker, "Bark!"); + Thread.sleep(1000); + } + + // Can't keep a path steady with different starting directories.. + //@Test + public void testMarkerWithPath() throws JoranException, InterruptedException { + LoggerContext context = new LoggerContext(); + + URL resource = getClass().getResource("/logback-with-marker-appender.xml"); + JoranConfigurator configurator = new JoranConfigurator(); + configurator.setContext(context); + configurator.doConfigure(resource); + + Logger logger = context.getLogger("some.random.Logger"); + + String path = System.getProperty("user.dir"); + Path audioPath = Paths.get(path, "src", "test", "resources", "bark.ogg"); + Marker marker = new AudioMarker(audioPath); + logger.warn(marker, "Bark!"); + Thread.sleep(1000); + } + + @Test + public void testLogger() throws JoranException, InterruptedException { + LoggerContext context = new LoggerContext(); + + URL resource = getClass().getResource("/logback-with-level-appender.xml"); + JoranConfigurator configurator = new JoranConfigurator(); + configurator.setContext(context); + configurator.doConfigure(resource); + + Logger logger = context.getLogger("some.random.Logger"); + + for (int i = 0; i < 10; i++) { + logger.trace("TRACE"); + } + Thread.sleep(1000); + + for (int i = 0; i < 2; i++) { + logger.debug("DEBUG"); + } + Thread.sleep(1000); + + for (int i = 0; i < 2; i++) { + logger.info("INFO"); + } + Thread.sleep(1000); + + for (int i = 0; i < 2; i++) { + logger.warn("WARN"); + } + Thread.sleep(1000); + + logger.error("ERROR"); + Thread.sleep(10000); + } + + +} diff --git a/logback-audio/src/test/resources/bark.ogg b/logback-audio/src/test/resources/bark.ogg new file mode 100644 index 0000000000000000000000000000000000000000..480950c681b94147299284d425e9ccbbd1fbb4d6 GIT binary patch literal 13322 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 literal 0 HcmV?d00001 diff --git a/logback-audio/src/test/resources/drip.ogg b/logback-audio/src/test/resources/drip.ogg new file mode 100644 index 0000000000000000000000000000000000000000..144d2b3670e8e294ee7cfe343355bf90123cb687 GIT binary patch literal 8495 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 literal 0 HcmV?d00001 diff --git a/logback-audio/src/test/resources/glass.ogg b/logback-audio/src/test/resources/glass.ogg new file mode 100644 index 0000000000000000000000000000000000000000..902a3c896a18d1a027eeeba0a23bcb55ca3d5c60 GIT binary patch literal 18999 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 literal 0 HcmV?d00001 diff --git a/logback-audio/src/test/resources/logback-with-level-appender.xml b/logback-audio/src/test/resources/logback-with-level-appender.xml new file mode 100644 index 00000000..9356518c --- /dev/null +++ b/logback-audio/src/test/resources/logback-with-level-appender.xml @@ -0,0 +1,92 @@ + + + + + + + + %-5relative %-5level %logger{35} - %msg%n + + + + + + TRACE + ACCEPT + DENY + + + + /bark.ogg + + + + + + DEBUG + ACCEPT + DENY + + + + /message.ogg + + + + + + INFO + ACCEPT + DENY + + + + /drip.ogg + + + + + + WARN + ACCEPT + DENY + + + + /glass.ogg + + + + + + ERROR + ACCEPT + DENY + + + + /sample.ogg + + + + + + + + + + + + \ No newline at end of file diff --git a/logback-audio/src/test/resources/logback-with-marker-appender.xml b/logback-audio/src/test/resources/logback-with-marker-appender.xml new file mode 100644 index 00000000..6524b356 --- /dev/null +++ b/logback-audio/src/test/resources/logback-with-marker-appender.xml @@ -0,0 +1,28 @@ + + + + + + %-5relative %-5level %logger{35} - %msg%n + + + + + + + + + + + \ No newline at end of file diff --git a/logback-audio/src/test/resources/message.ogg b/logback-audio/src/test/resources/message.ogg new file mode 100644 index 0000000000000000000000000000000000000000..e96c3a19eb2feb66de807228b0eed95773dca67d GIT binary patch literal 10429 zcmbVx1z1$g*Z8HoTaglkrCTWp$)y*T4(SvmB}9>w6k+L(r9-+wMOs*C5fBMk0Ra&K z5rOY6zVG{s|MPs`^Ze(Tojd2unYnXn&Y8QqPEG~@Ht<(DZyQ#_bkBwO#jseg{5`#G zU3@SIY~^aq11!6Lh}*DqF*E-un3-50l>Xvj6Q#h#e-tmAKMP$0$4y-BI}7T1JF&UD z*cx3f&!)j9Dl9A|d{bBovl$sE?BX^>Afs~8Rtui)( zSp82@M6VBT*m;yTmAZM1L%0aZOz}WI0R?sTNLm=Cv3<%O#RxXh%-%!nWjWr&yyXR9 z#G*rN;aZ}bB`G@6o8`rc(px-D@03UcnkJ!IA~QyIwcYrZ4}Hd^&^doKM3;Q9fqPNH zXR@bMBE&5J6jGYu4KDSEEjAz&WD`((PODK*J6g{?Ho>X;onN0uVnR&Cz)%|w7C%d4 ze}_4Lzd8R9(~L;-wh+^{Nb~oRmdBAcj8T8ppCQY~n0m=N8x~M-T`Fx2Qp9nkXjQ5R zCnBmE8?eWSgpDYf1Cm^yq8#T-9=Kw1I!Lf%K9Dzye7yrNAYt^#7@jrfClU zcU5p6;sq2ySq^$J4|;K`z&HoJ`3Wv1JOqF`Req5|c^IKJ_Ct%} zZzW*V4gd-w%>7=>!=N-^0#n`+#y)a$KH77jC@>QF-^-IrdjT0?&vi_54J8yyvbhvX zD7Y+RA>kd;KW_pFo))gNWxdNf7?UE;`dm;!n?3a^#xR?^y&@y~QiJZ}OlzPnAtRan z1)1-%e8x3Mvygv!fz;UqH5HQ}jtQMZKEPxH(z#4#5md~ZfOAdXWo?wV(}KMiL^gMG zyWyYp{xXXStDNyyQY+w$m=D=*?L?Mf@5DZ5cZ>*w`)~760QF|`o^c>Ij4dP)-$!`i5O{&ISMxl$TcgcXMgVf2_D9IhJ>Xr}3@m zC_kpD?i-ihe$hvHhg1Z#VtxtGiW8bQ@_cHg)ZLKHvu1oq1Pls6{_!YKsciO1iug>I zP7;;jJpw5Mz2e^$_l*-pb#3C`Dr%oupPCD-6QTkJVsdapxUv5|({#Uu)=10ue#>(q z%X10V3{n4WSpRqq06I;?rB5Pk<3$E@!gZ90{wVlw&+(!ie9k=loKv%bQ+tws?7O(` zf%pWCioUqE0iERpo!=C_gMp;wl!U_+++oJwVZOz|yfwtMZ`)=?+O5b zmr10Wm*iD z`LIK8VF7WRfh-!|Ws}zf#kFbKW0Ol`I8b8Rd5*DK2JphlzrZZ+tV=MDr;-;uCM!2P z>=#;WM*jj!w>sSCTi6#sx98L~(9Uwq5+4(fDRNbUbB&3?{{}0R;Bp4OmZh5=T2p@Q zwfuL|wpe3e=kLE9s4nC7sQ7T{nH{IxHAT_0j!&@>d-Twyh z!QEe$(DKR_ZMZ|G>xk%Fs>4vjUtk3YHiIAlgkli@p#aT@0w_YPP#yq?UNuPr#Wq;a zuT7(!XlI(`7|W?KC5sX-G|h9$dMB=L2zSl`C5MT805LQ8aDRs|VJ^TJfr2^^+ULcu z36dWugRYdaW|D@EDdGXcLM1P_BI?q?rVQa}NS8eB*dphw%F4=j;(ySfIe`mfNGmHl z1VR0QrUl|G8L~D4F_c>!wIs5-wAu!6%Q-(x;_x2@JeQeofoC40A~zG9-lmv{fhF{B zg9;USD$<{!Ppkyt5{D`haUqD6Tq;Ts8tOI8v!aj+@WA3iHl>-37L?4Ixn)LxO$`9N zz##yCB!!oJu>e3=JS<)c%`Bk`8OZTTyi!bSH!h`?3LB9^vy~ut`*VEAVNfQ_In09u z>2iD!u*-lBtw4Y{W~3n$1QTJrT;Mcr04RTn1+cwTeLhB{8b(ZJN(7W(1B}dr4WQt( zCd36aCdKt>RX{;$CSwGlF9A<=aKQ)%lnf{qP_!7s-3lzNs00rPL*pNyL0cN9{YxrX zz$YSdKmkv(I`KYCoZiHF2nw))MkRvJZcnN-#27)VL)YR06{_F&#+Mgk}}-v!P zGGdI2EdrAdBA_5^KI4i6>>$X4vAWA181wXCTNys&nCOS0Lr(ua0|Y^JfTH>{5P^XG z-2>^sg!u0n2x^d(ND#*rK@BD3DnY=AF*6{@2$&L>ID=M$MCd^wg$R&&(0-J7E7c|I6a)$C6ZFea;5x6s8y&G)S!^|0Q7whYsA^mQ23kL6KOmVzy#D1YVwwM}dpQ-; zV0Q9np?^^Se<0S&B?j`)+cf{-U*PpYI0{sm_qY@i^dZo`5b6-nzI31vIgCDXBM?EC zih@868Sn70gTmRakJ6DQL^e&kQLslK%v>vuSwzcukjbz;xn@0>D`enfuqIdIq?ubc z`lBWXfxOiO?sxJ$hPgtp!7+alyvv3mlF02{Cco#zgzlKLMW|GC-x>y9IW z1%!g<0)S=og0Hd3wYaS!rRz)hOK#scj`l-H!?)|o@2*Qs+j6}xq+9%icNY^A08s#V zqhBpCV8v(47?JGCPo@~J7}M@B!1I}NV-|cLjS;cSTsAYr2o72)(5B@8WHXLnb;*k>6FTkQ1Z93Zo#@W2|0Sv ztjyZXQ|0`wj$~AP!?C0#@qP#1P84EC2<4?0L3;jS;_m-FOHwY>dv-9@-Iv#($`Qk!&fPyU zOOPSdd;Z(^!TY$MS7JD$-d`_nDC($`p4KyU)Hl_qPo`estd~ zqF@`4LK+VDWD`)9Nm>0YYMCL0`i8E|FpxslO*Qix}QWI@h>MYt>e4Jn5t%0ik_MHESocV(ZnSr4p z<+Za%y~}&YeGEO{B8483Up`UnSX~B2or!#6muu^o2*8Me(5X$*{FJ6$)tlIT_M(|< z(zSzS3EjEfxi$T?bb5D5adCf9Jtv&Oq9Uii_Um@hoVhY1G~uHQ#9@jQ30K&c)JK|G8HJd&JVNw#Qp4ZQBLMWZK)Sjj0I z+ggtsf4KgZhF99MA)%Rn;c(MCD+uR{MCf+Omk41EsI4kCAS@eb{TNAp zMxnZ9lk2j*q*OHXX4V)*-fUqMC~z|D6l2`^F({ScGvauu7t#iAx{sJgpXXW!%^$Ax z{i?_SsEldvKlXuS+=)*66nT7dK0E1IT$d-R@+iz|noEY_EyecCt!vu$Nh4^^{qBR= zEqPW!Jb;NG7S);!9o#j{;^=2Qv@%@(d zx}s_xuT22Uixhs^I*)cK?#5@DO^uGnl?MTe_qa5uakr?Z&3?T8sh!3_Si$B z77OvvbdF0{M6ye?x8;JQ&^>9N$%ZE13l13TV;QMLZ28Zpb)5&RPU0uplR@gQ-O*fG z%jcFp(0C)yBr^CkbzbwMo$m7XZ$Gl|buui7IFEcdd#mq-sLawERl=ot!vfuls z%Lx_iCZ-R+vla70tL?IydY2DYQlI$mJuXdWoeS=vrWhE_lECVzTGqIoLYNg*LL7Mi z(IzV6SmWs;Rq64(KQeEL)nBnvsM-5oaC_jRpQo9umR1Nyzi+POc?=#;zB(=PuQ>`d zOdSbT4zy`et)JQKM^|2bo;LWvgnudQ7-bn@9yXCJFZ0vltlR42Rs7iZL?j2ccq4>6 z)nw}@6;rpmBZSku;yCWpWCTcMiKiP3KE9bw7j>X@xN|z1Jau|L#J$7!Sn=jWh_pU3gsYuIh^1r#4c zjsjWYQ^!>T!1v@Q;kWq(ayvMM)Ac7AFpEjnofh4CFAWI7c2Lh_zbEkar-PW=x@no? z7aFx$d!rrx>5p!dr@VM=M>?(Ad{Pkg_Uv6H>(Z0pqup(kAz*)ELiS0uH>v%>=kO)f z^dFy9_A>77PT*{IL%uzHsr==E*@lUKh>^!5*bc+s_=E3YN6vfpp}PRg}?P3pB|?pG~c625Q`%9&U3k z6c^{eN=5Z1iPMqHy6!Ei=QzL;&>|!IA-nOtY&w3GaVI@0@q5nl26cxEuVnGrRrF@t znPX#o`cJFn&V!2bYfFi6>$A$So;KLp9#OcRzVN`pg|r%%|E-X^GLc`-CD^X(>CL@< z$STXkTr!TK#)(?is}0%2Q`zD>_pW8><}_Me@u<3rgr*?4`ik`sFm1OoF#l!$WR7!bf zQ}<(N_t}+45of_zj(TA>(xbV@POl7S=ErNeE5_Rs@NX!^Qj2maA!XF`II}nQX^x$m z$1=b6@zoI!5l)R0M31%&hC~7%RDN)D4~BgAI)w;KPqzfuVpWEzKzo7ipNHZLwBhsq zLz!5Q-uC%zHEymHzDFGd%FmTQdvAwY%ASxLe8^Ov#qb7x92lcI?`{c|vb zYaLv$G0i!V-F6ch*+{2hm*ab>ji`LFY2_&xONRz;uAz55|A7OmuW&X|{( zQ4EJkIM-(NnOC;F<7DV|R>0!tvDvG}LHm4i=-KKf>oHpBy!BlHkbH z>fC!@Q{B~mG3K^0i$spy@;(rnEP{|B|79y!9b=HF{_=ErZ1y&T6o zn6j#W&xo_+#_e~$q|>Tizj0^bSJTa1pd1u4hq zW?BAp4X z*HrAcIqN8dE;yAnG8Uurc%#g8LsM5eG9_KO<9V@fZgSWp1=5m&lCa=@TB@fN%uFU) zq%3jT@9{XxZYO7%pZXTo7Nuw#3YB-#e9Y^ewhJS#s`>bM&)_k=|NkBQ2)6~UduUOvp#DmL0kKYO{%1r<(6?f+@cg{I1k=T{kTdOVe>Q)O1 zWCa{xDZW3J_32vNTB_GpNfmQ{p-SO`aeVoV4uKH{K$bqNXTAmBm3m>NRk`EZfxakW%TEx-m zqp6zn3%Lgm^zdpZ)g@JdWv96lq0ZJtwOLONK30>!Ra#Gd9tM6}ynZ}Rv0_-fvr52j z)gf$!*m%nz*`j&N|Kj__tC{O1HyiKM$hP^6{h1`jY&)Fiw_esBKR5hr>}NxyOEqO@LMv%}nvPI< zrc~O}Q&Hn|Gh#XW{6{=vzp1GhBELbNKz`wO?MN~OaoE?93;+up!c{u7@3h zcm(`Zuz92OPutXMdv4?Lb18*v$6~f6y{zZLLF}Tg2|p#((Bap)+PealIR-f{griRv zH8yC*UlHUA&JNvJYsWVM zKBR8n&)KdufmMKiRw*D`mk!HNJV`0jeDm%Bi&C80& zuk`gFcEVYw2flU0yUU1Xd%aE)E~K4Ds|ub?iCz3yI`isHlM6nVo2oM_{!{g<>5))!S zB+gTP8Yw>H?=2;S2`aJX2Z3C^-9Wzi161EeIF;^roKcH$pSExlOF}yte_+nr0COkB zM_B%v+Ur{$u@>GzC}w%f6S$A^=Z1FzT~c1nT`bS3LhGx@Bkw{8i1*^{7x!8XQr4Ll z#(zu)>ll7;RZaLcXL2q?oAIGvIzzsBfMV;EpMgm)zd^I=+rBYJSQ63 z+v~4xNW`J;-8~Dq`mU`}bG_qz&Ys{e5y?fLFEVyglkrvJQ0V(lTjzdH>DaI7^%P~& zGChHuwkp?Y5H^MrRJMFwMXctR4^#JVm|Hc(tP&nveOotid@sRf=WIXuV5_*tK2#8G(djLi$_f8!%Yg;lj|qHAvl}GSIqlXWCsdc- zBck$&=<1E7FA*cJ6P@{~pZZuMWna6!iPfU>QQ%PE>Hcn#X*c`X^L~c6D3|+YBTJRc z%&5oXD15ZRVB2qoug`C|awn^1z80f?9VyCkXxnta$79ZJ;M>K ziG5lEx5IbQK%J5xMP{#>Pwpk*zp?ACEqP(u^mr?oGKw#ub8!UHO_y?KL)|WBgsTHi zaLqPEcW%M~sxWr1lU)&;fzI7wI+CJ` zV(`;N;YIaD&71WWN!(hPob&C}>bPAGSA(g{lBK&`ansz_W;Jm{jjn1drsc~;4Day` zLLD6*m5&dQ+g4lPA#R|a_~_x(SG?u@s{Gz=SEBN}!`FDMQ$Q+n2zA{@lE+MkQtN5* zt-U-kboFlFlYy+Do}#h&CJ8kDtDr=#hp%RTu;b$2P0Pm>8YIXUgl%V}o$On*vK99{ zo~ao76=1Y!_&q(DAT=HbxGiB}KN5A9j4hN_Jh*byCyx% z0zYm|1kK6IJ-#@sDK7J0aw$&da?GI|1HTS*$R<>*Qzw5Naunut-9(-SwKP~0K1R7U zI)|@~$RXMZdhRTyA>ABVNQc+qaspS+gHNZ_y@YP~pS`h}pdN@pZ+Da8)K?oF@MqN6 zGx{~Z6)~-;4c>1oGQ74GIc~mxD?irch`;GtmPw^pRm;HSO%r8K)tq{^|w#8 zPa9Cp@lUGketL(L8TD%qk90`Uc36j?kJzst5~^Ef)RweDrMXIEl*1Hlr$vpsMih9r z%M->2g4IR?*Ext#C7<%ruOJ`~PcM_CtQwm6>hfyUp7?YE=gd2M_nSsH}zOioQ*jh&?xLnCh-sW+j zA>=j}mS5Ruv}W2(N!3)EMA5oikVLHtW1pI2gC+?n%BihjmW{!su(06${*JVY81YsX zR09DzZs6kK+0}|SsXB1oN3W`Jdn7E(YtnI9@j|Ot@}OQS?`~3(C)(c$lI7h?&+4`& z9NXoyroyop?B`LC9X@SI+EUaTgG4ky<*gQpK&ub# zxlx0!4Wd)EEf3|7x4+LXg!?QENAs2Q{cU9;SAY~1#>#2E7S(F0e2+5WtDK^`(ko)o@uhC&d^=Q zXTPX}eet{fNd%*k0zI#^t1-(Q6d&#Fvc6i`Z$Y(8ay*Uxnle*1Tv8du`s}Udd5ypQ zV_T;qGg}Drv}J{3nC$3Q)aqdrJgxU*OM9QFb17$$*faPEWd?VG!Sj-lIgi)JAr`5g zI($aGA75*DX9zSzpB|*82&LjZqLa1Q4ie;oMH*lX9~pz6!JTImYI5B>2eoTA|WMv1veoNE^7hCq0dK=gH9^}zZc z0h^DQw%fNJeThgJhi1HW8k-C-XfQM5td=@koTj3ad4I-wq?Ooog|C-~5)90&%s3A8 zd9X(orm@OMRpoKN;UBK-YC=S?X9ER}ka+c0w-23*u}Vf&+W`ShIZ}Ln)n=;ODnS7$ zYjJ${!=Bp2ml(TiXiA5snOHlM@ltWUdX?<3GJQrAveY>c7yD&**FC&H>Pgf=%e&Nx zO-Ck%=yQnd)Cq5i=1%4p0qkw|54v`ZH3B5cDphiIP`^8C4;>Z>T^k3c`$#^1u0*X{ zaG^LLlf@|M#eVvu^RMbDZnB<2JX{IST`QUFejgl+n>eg+wJB(G%j)i^HP#q=A}8-< z2-H+Eq15FO=V>=Zo7G+*IN`eq&N?lgnHSlvh0AACKW;mqPb(yhK5&YbK+<5cckMrv zm@Qv8X3hq7_paNec^Wf$3M)i`>AK2dVnrM0=2gJ-O?Rt1;SN@4Srn|OT>TgI*t^qT zkM^2;26wossL&zf%{ViH*U-{*>FOHP*Rg;M-UOyXj$wVY$Ji>X{e{q?YvhH;{oeZi zy`Klx`$%qTJv|NCQpLG~*H>Prnbok&a6ibYy~@$)anmhe3z6dOT2|J`wG|u#ck)X+ za`Ae<+fC6eA<%duy5C~kp<=9IqC1?3YSM3@l5Zk*o?NLKR0>@nVXG`-|$D#gE=iiroy2d=uc=D_fr|Qh=Ea;0LTEe&>w^YDX2fao%Ci8#mi#jjg+JsXV;L$|H=P@m5-Q(I4u4}*I0>QYxalDDAti3wbpU?_U|IZVee z`om{It3a8Z^V`*Pb6m4CA+(xS&3!%N-5I=6Rw0vm`y313J}=BxK)#%c2-YJnzMXgV zm>`J_1?S3_2u|9 y+dLzCG$1HwYiHNe$A{_L?s`A=e0ytat9J`nsPh|}oAE%rTx(EIclSgt*8c#nw!_gr&;9G}XP?t@S`D?X7m zeGjogzV4p3PF`mZpo>OlUjVSZ{LgnGqDxOBm(%~t(SrOBm~(Kg z)-B&V;u3 zU46W7pWQm#zUz5gPSN$2ryB`;Yk$l8ww$Q2h%iL>pC%WTl#L*O0f0e?ijT0wE?)X8 zE$3s#>@1~k=r&fR9?myh%F)uT;%y9eYBlyTO6?DN5)HvwgB%uPJx`4*a~WQ57>vK) zo9BQ_GaL@z?~!oBrFf~iB+qz}|I|`=qR-xYK%*9OFP{M}<*>k|g0qsFNOh8DmlRx@ z<%q(1z7s#IWpJSIBs+uBdIoRl4Dw^~>i++{_wVI@m&a$||CR2F%+YzhJA(q>vi#>6 zhnPJrNCY73HE+xmF9j7-IVt!G02SsQjoK5M8}C^XAc0e4R6dF$@o7eNx7!4 zP!SK`A^;8mm|S|~YVT>ZH@LbtWxKcj@8^HImsn~GQaUA; z^UADBUCM>I;gje{Zo3~h-zpMw2Cd2MjR&s%hXhmr+@g_;e$d86%o$-z!=rL9j{`2v zaG8AbpXVYT3#U^0m=V}f1Go5x3V4oqjtD9x_#OCy&Pl!7F>BIGA!4zTxyM%XxxlNNUJ3Vvof0pl`Uhs(R-zzX-V64FhF8d$ZxJ;krIlan1BX&_yOkQD8k#l;U z)BpR4c+FW104z(aZTDEz?y2LQ_YEZ02++LFX>z;oE5=`zvgq( z*zLbWfL}Q~+Pq}pvmHhSTu7GH=o8ca|9GAu76D-9qe@QH)Ol~Lif-kqwBpO5N$w9U zNVCPWSvc~kMtF?dsG=A?MWOXX*H zQH!FUdQm7{hP5LOpx_VL>z+hf2$KQdCwj$*5TCcBQX)Y|>S2pAl7A>_6ow~ZH40mj zu#ca5VWmmXKGaw~bc+c#=1Pu%ozs<}AK17ntr_Nz>mR1rUMU>hj>+*7YvHVt{dI@ z%H?fMTSmBW$v}o#hg3^i;P>})Xa|`nIBDK_{cA>ePtAT_ zps?z|Nci_E;^$se((@O+*W3M4oCQl}EXsngNFbIK0;K_ z@oNm=&;dBbuTr@T5t?Y?*AXd7ylBJ68eh}GlSFuOQ?O>l+*L5up4(wX+j1hP&G@)0 zsWqJnQ+}B7=2ks3dyKB4Q$`m?V$Jw-E1#JaiBuWceMw9CE`^3$XrfD=V$F(Kl9NPu z3&RsN(dZT|HWsF{=zM`Ul_p=|7Xz$QNzM-}Iu~XDS9FVkd2H3gGgN;u!a9po!M7qq z(IRL@xWyc-(XeNINb%%`$7{}JYMPWU{JX^gJzGb z^7_rLa96>g-ltHXfug&i4YQ0Up9tKCi^y!cS*!?Lfkw9`X}XrQq?@}+{ZHqb&hH1F z*}1%*?Z?KUtKf>7)|8tGRl6B5XH*%SRhXE&!%9;IW-@r@+%0KlvF~BFlE|QPR9}yGv2Muu4x; zv!sPiQ=_no4t5K8Jz&#Srg+o#9`2tq`6s}dB1Er6RMB%BVy(O_XT)yJNY+Ec?5rmW zvx}bQY=#$=CJAQ>R#THR0tU zcypOoZd1|E=185QX{Qxfn8R^;#q z(!9DDBN@(YIXU+6nQ4!K%{@G~vkKVMz!fkvCc)-Df=YA#Y<%ckZ@A)h3RZfK10Emx zB|KboZVGIXNzZhZE6vXg8?J($#HRqm2D3Q1QkRBP$*u2F#8(D}g|2T-RSlq?pA@p^~w&;&bESFe=l-yW|Fp&QxfI?OXVn7c4OMn;@`^ zSAEh+q8j$UCP93Lye`IE2Cwf@bC0o)MPLlZh_u2^ied|cU6&M!(+;lSh)6uEpi-L8 zfYl-~r}tS!1eNq$7Cc#EcoJt8`~PVYlCTx|XUqTpzraI<>GHo{c)-`{&k+8!sg=naa1rzSS z7wP|&zDc2Tlg}ztx-`&d42aG>Bk+IU`)}!gIXC|=2tk04%q)O|+BM@A_rhBbv5)`w z0e0-NXuRSziP0&E*n+g|cqKGC2dhbX-mXhykp(tIuy*<;MVywj!eXo za6XNfp65-`!}4*b{E*_!jiAxgL_bYbQZMvQ!SZrHJ$v~nR#Tn(DU~Ma%Nzqu(!v}A zEb&Y4L?s^XoFw=*IR$Q;o1&@7?TuC9L+8ShTbM$nsgBOofo)z6jS??sBs^X2+$31$ zo*F2Tz$3u&zJ{T|b56pd0hs)!sfnfA3(AR^wLh){8m4k;0DB^s6z@T&e2t65BG;eu zoI|&AROJXXQ{7B@v_WI{Sc+FwnL^}G3In|+@#}C~*~?Frzv=1MRQF2}w$RxHt-Ys* z-2!3+Ac!CU3>>^^5FkPkUqT^RAp#0FfO|mvoP?b8b(7*{Ad68^Cj^g3Vtzyl5_5)m zpSRz@M_!P4_3?KEh1-9eEh?}MfkZuU{(SFuLlX-ddq-CfZ@(ZM4EyXL20;LDUBsxU zhq#Yq1S3n*+XLF#i)w{ZEi}7EGNvnCDtYm#;$SFp6?2 zTDmea7*!EPH4O<>MHP&arhz)v!phLd*h)pg+~TI4oxY*LEf*7WTQdu79l$hv5J?Ou zU^Rxj39%I%=ukVcwBGZ+uz2gsDuVO(12L1m_{#uTDZN(hIt-y;MFnqEf_CB%7uqW*TU6@Ym&q|7O2wM{|Y zyOU;SMfdm9f1-2@k?V5UNuL7#${HjgULfTkfEb$JX8z^T%PdldD?}I?)73irR7XjG zbDzg|pOke|pZ`HX@8D3H`K`g5&NX*&(=M#d_7)Vgd)9bdJ;#qX-t~t^*HVYD zpR!SbC7a2={L68_j8Vp!1Jg!L8@0?3$Jh$$-Q){TZ)d&7zdl{UD)mw;4%!jI7#OEP z=e?4ZQ&oz;OTfVeLYMN90r#IiEaQ89ud%FDsGYrYI2FGP|7yf~hgPWIG( z>65+jT9l?&a!}VF_5j@Hd%J%uY5<-DxF-~gB5@Qmw1nDfqeuesW&|7Y-&(1Qi$TBj zh$r0pKzR(+G3%MYz2R7 z85HXqHYMj%#m={u5CHtAtzZ%Cj~;t?Uk_}K>TENK81U<@v!95a^^IxY%xCSO zyZ|HhZ?LGX(qmaZXY~$0{4*rLaR^m=3sWbxY?1vQoe-?66NKSpiR}NZ=xc7hmS_0N z-0PQRk4vg+<&E3aj&#unCo=c2znfn-5V<(GA#otX804-UwcN!xU9RhEUsSp)(VdJYvunQTy3X0jCX?iwyRy zpS+$mtp@N&;}@P9a#H;DJz<7LVZQF%PY&oPO`&FjyBx$R0Q!hYiwVmkd_(K|uiU*G{0h7^n(){spf zhTRtopl0}cy!AC}^GbHMJauUqDXs|XGtoxy^EUY zd8(**DcxfTM}%~mE0UOg)q5x3&G*xIJ;hOagy`tE?fbexdYGuzwqCmw)wkTH|!L zPy^Fx1t~{cZNkvR+-b$zY``J2I$b@|@Zz+7Kp|wo3Xq;rsreKD!X1DH~LbAk%O<(n@Mf~+VaMy zMhm4=JQ=#zBj=u9U<9~*Q(C}MC}X%?(2YB^oTIea`fy?U3-qzXafyUj7?d@&O(>6H z0JN$g@wIlrgN(S20Pi)>KI-kWHTAPb=I+mupJX@|8gP{5mEt!O8XV@XDg)V=t?mC> zgnh|Gh~rRsZhr2vP2bksB@z`V)kpA`!r{lVAde$IV>@avIn^DhOT!<&0s(U7MLVmajC=jh~b z8ND6@BIK*7T))GFS;O(T==0Q+Q9E`cXn?;M6cYg6te@I^XQKikS}+bu5t8>0qY)qx zgTN*E?U1&oK&ui2&~RO`r63y3spEM5=auA+LI{Q!x%=zBmV8~&?uEgyaPh2bINO?U zfa)GqSP3sK*sgd427 zC+2FhH5IU%|FE!lOr!{z$^(H(T7i)6le=VTxi`r0+Y%zkI`{m8aG$>h1bw^Df;_nZ z?imC)k zWI~fTgu4y_8b?osw8SDC!1myZAr1&PM(SbknPxCBUXb(Xk{!>|-Y*I&p=jI|8i?x% ze|&su$a}pCdW&dah%uxeI&?Qt$xW8^C|gEd+J$>$8fy50!Xbz?=>xk3vL(y>?qns8 zLcn>c<1JwHTZ7e=o=QvR(cxOA?j!xH>vKE-ygay8ky5R%%|=lKFqS@iU1*W7Jsgdk zs}7)_ybll#CS`cytcDnvqsij>4J$+;Gz%{-?01U03YN7z# z0jSoEA)6rfCjVqvSo@f1a`#T=jppFN(Z>pufQEhX=AUngyEbZwN$$(bUyMHV*s}wR zxf3CA#YUa|&w3y$Om;;*g8CfvVQ0Gier-PD4?h_M^k}a65=_nyWlj(Pmdvg9Wftrq zV3!f2TX_NhnWYE-Mu1k%)Y;S+qCh=QF>ay>3W|M$MB{eWRvejaPSt=t0<6DJusxb4 z7};O6p0Dr;3TYA>+++u%g2BL}N2yisFx81f8huUcCz7qHf4`v|f?0b;c| zG!=S|z0?a0Bf)hFGFP@WYF@!{Ii=pJ7taBCjc-wZ7u!eHFUzcCW zQj!XN1_ynxej_1L%|`5Ziq0Id!ph|J&u8xl_9UH0#66A|w>l}KRd6fQ538S(T!XFh z$vis7_ju~1IM#G2EV2^?3ce9X5DDL7c*rzN;#x2y?YCZ9i3BN{6rYO#eoEJt2=Gn* zp>SaUt_Bne6I-u|z9x2gUV8XA6NNJ^v3L3FJHvV;ulQN$%_znwNq4MP5Mm=Kzn&0O z)Ar?72nO{X33BqzdmA;uF;Xrxn($O-RHDXFb-DZpnpTSdj_n)L0fy+S!X?;TZ!FzN zHG&Grr+x)gAf8(M&U&YJ-!R6$ps#gw*vWXcB}iRZp#o`jWQ7cIO3pEED7iOdi)v&q z17pNC1iY2(7*z;^(6q!oS&3b-yeM8td%I9y1Az}N28#)V59wZmO)cZ~i7}EX7-y3s zs*POpNChy=KJ!=xoIHP1#ACfyh)a;1A7d-i0a$8nO2EOJNZ8Y2I_>jx#wh7{f?f+A zqw#Dc{@e#P$4*=)FM5gmvvlC--ku%?5I0AbYz!1QwWm>y2)%5PcvhNIhRVpW{eY2VC(3RXqMpb zP2F-)G4Jzmydkw2HG05zcW&pBEs1KcD|=C= zP4oLJO*a9DNbfTK(E=hoFj8aa5+@3r)}}Y5XT}WWpIod%b8eXs zOjb~;LTm_}X_VKDn6s-~EVCC8uwpFoE3KDaDSw(buu7PaZbgtNh;arR1X+z4k%gPb zYWEVff45(anz#%r=L}jvJXf@r**6aoO;)(ShB#+%xM;-i;q%9gCLYGe7sL?aj!Pjq zX=dq8@C==OGO?I(P=AAVu7?uWoSxT2%;gTU;P6*lYDE;1ggjlJxvy{HW3vyu@SJ-! zL>N1~9NGM-45{*qR5Q!=jBLpu!5B=-$wS>jEq5f(DOniv-3M9;t}KA-&6bAm%mMy~ z41Va~4jivzB85H-O#3fv-SNvLl5Nu}OFWP($hRIpSlg;{Sv$32J8rwG!$Sf6Q-_h!^ zoz3}o=}e!VGMzX}6kQrzYNl_n@BtX9Zo;&AG3yUM*$sV-sE_Bte`0Ce+kgBC&SGg; z6#Nn3*PZh5L&@foJZ1nat{TW( z;l!3%DiUn3@8fILDj4qJD|)K@me{I;aKEk-ckvNHzMsC6LJx1L%aNnWLVbh5_%PbD zw%*U{9LbFkfN{CnPKKGsA+w?}-6!VNL`u`I37Y-OW|jhAP2ny_ICVmbOB9d)T|Ct@ z&$grUoh0?KnLpz|HS@mBa`64+vRk`}QbrZ;Zp*QlDu`3Q_{47v*fhRulM_Ja1b9q z33_o)o-U-g&C?dOWnSH|Z2FX>e9pDz;hhoX(38W14#}eyCv{(`qyYuQD)yLhA&1Kh zveBc*q;qwOvx0kZH`^Mz`CA(1I=b^3lr63yCexxek|`8l%D zU7E(vh{}%0%{j_1xkvxhzM7E~NH0vCKD9bH*&nE*bIC<{mzB_iCj|oFY^58oCU_!& zaAk9^v#;koUA}V#A4Nd`_pWK97r1Lo%sBtdj|9_qFmPx}Gjln!jGOWqO^Rz<$T_g= zf++Kv-T@&}--?5`rp8|C7Ngid`aXyaA<(N7oHQYXISqi5^*=Z$Yvn$}dbQk(mo_34 z0Eol3_1x+O2q#}S7Fn81GyeD9;jvyaf1SC+>i&X?Sm<@#r*V``m;^1 zE#>as+IPX>>?S@wOc+`v`y6(MPV-VXza2Ln<^p3%F*oxR8}Rk#v!C$UFxfLNPu{{e z+1Wu6?Qu2<;%A;i_E3^lr9IHP@5^*MpEjD6qo+Feh2EP94N?%dd+E{zAK@{X-=97F zE9M)f+piz*dpHippX!H0&dRLQbNh$gVV#m0vDv?8tusQVFI1T_roAnMfEdr>n~Ll% z6j6K+MOGW^!QtaZT%H=a{A`$z1_qNpS;j692DBY{QoA(;nR(B)lzB$GliRJd36RtB z$HGdb(96Oqz8Q5n>?eyaWT z9GE2a%P@Ch>dCLDQ8+IT`#S>FTfNiAlXZ@tP{)QkFKgl7jZrc`s?D4r4l)kwyr>4=b#1eQB88Q?;}voRiiHl8EJZL>R-#%4 zV+>5r?zBC_^lvM!%YC?a#8L(^A}4(e;qX^qKf3$oIgEK1A|$lW(wF76Mo82C{)rN| zq3?}f=}1YycJN&5Z=4kC6Uw6!KRm_w!W;D;#Aj|Jh;zp#LGuc9@-MazA%MSwSGq>$8vP<}L3+q>jihA3(@k~C?(KAT zN!(q6oB=Zchb92ue`F@)Go_8GyFJzI7QDm(gqNYcNO!3@Qa z+~<|EJ7D}#^E|uq-mT`Vo=^`@d){RRof|+;{5P)lcL5$vo^rTg4>og%Kf|%JZ31t1`b1uKHcL@ zFyjR+Aj?9^^Sya1(YVSpzUAOeM(;rboCtc-M{iStXl)FkG~c?`K^g+y=wN{b>>@bw z&bo%{QraG$i$}I0@WZ!? zC1BxOucVj`4ytBrC3Q4d)>;wb?yuoip=BUeqzWoaI&3)@kY+RnHp^}Tii2sx=m(y8 zLW25R4We0H`oc*@e~5AJU>yCU#hPUAiX?G%d>wnDq!uK3=N_<8x!654 zFj*$Fs=fBZzP$Px`wt<0ed&Nix}4jH#;aNv6N$mN|7J~fkbkuho&4A)u1(1tl2pb0 zh{Y(v$+XLTZ69|ES&dDCIQ{(Hbo7C>8IcJoiOM0&##iBWhkLH(n!d*Obi6l~-z9mw z)MtzHqumVK@ByPGY{)x?AmpGhK+eCOJyPjm<1@Ch3*O%m#N#nJlmPRTzw1$j0w_1y zkP=H6(L2BX8Z58Ilu!X#u{)E0=9LKfyc}M~teFM=(7IpO)c*0PPM9(L($BiyPEf}L z8Z^qyPZ{f;5@Y3k;>-3ro-6@!fmGL3r6$ywM963|?s@jh-^ae7Eh{*n`N*9^<)%>WOLoxo@Q} zB7!M6*h~7YjZ7DuF%UR<-V39Aea@5UFHIYbRnr`Y&plclZ3()&CH=RoACyyl)D>U^ zjr1_NexOe8v6wp$Hn1s7HlZ(hnB;p1?wcwa`y;C2!;`Y{e0o(X0lqZ^C=1r=8~@fKSID3lRbJ$vuu2)aeD19v_341 zh)Pv0gE2q~er^k4y`WiEQszfZ(qAC3?jL6W*%$a&A~KkI>NY<+{ftZYG&b9!l;t;8 zDW04iQ50(7c{|or44pVl@t=y!t)=Qst@V**(SZss68s{dl#r9uZ-ZcKa;+8-J^itu zZdS;XAHh*daIWjA0*`N4;E>(stK!47+PSn)p+@kPA@bSh!6*1kD=_Xf6?F;)X--%u z^EtDD1fxsqPhzbI{@Is}*QQRA+mue|0A_ ztp!}IQ)Rf$80eNMYb#7=<0}zJ55{Y9BX>Wm?wcd)A zFLBUG&D4Mb;lzC>*(*tG>#*5kGt~`-nF{1A@lwp+!1oUB#R9w%G=3TNf-ozSkH|yj zp-08!hxKP(fr8`A87ykk4%QNRvhiJYF^pGng>C(jN&p`g8h?d#EBNUIPO?^T2@rGPp$)%F}J~PZivi77%I5r3*0|d z4u0&nDX>?%zfPt+0|EJOKaM64d(V1NlBFSdQo0ek$#oL|vn1$|__Ee7`XEo)<~fra zAO!0kW_MVhqr5^z2SwksXgj?4DgFgF z0K5KEEec_)m%0>wmss@Fiy%IGTdfo2sZur-(k@=fJn{vA@SS#bJ)8^Wb3fJQ&r(>r zveoyro3gm+&F$OKn&D6DN#B8VzWgD~b&7A%stVT$998Znkd#detDqPCe#Y-1=^ov| zi(MFoO&+^M_NTU=lAnT!IEs~Sl#WDaf3G(+ovN|R7fq~L4c>r02q_pS=)Mt4(8XS< zJU?S~g=YHx1OjMPd5KN=cYonIWY@YFpf(r&GluAFzX&+FvzJdxKs(C4e$c$vz40Kw z?`1;f@7j%qlc@;a>--mS#EFpPfyFI(67G1NMMA)EgDPn=L$~(yc&& zV|Vxb@(J;ju-{TCMd_l= zc;)3x?YnU59jp#Op3WD{8{3*n=O^`{A7#Ld4ELR_)Mgmq?hRyA46C>~S1L%{eCpMD zX;S7P0+a>WA;ILExP16lG4xlcf@l&hR_z+`%Qnee97bnw#-!kZ-bF7iL2 z{dkZ5+B1C!*u*0Lo8cfh3j)Bu49D4G3x9>aB2OL(Hch&A`Zd_($f`E0wAIf?MdY-46{mlw+~*N}~k?)c!$Kj+9Fd2~)J z`vZ#-uSDO62LMNjqfCnnXMVv1kbc16c-434Le8ybtyeORkq8#viN$A=cXz*07Siug z7!^xr4zYiLw>tH*1iqm9Cd| z{%Cun-@4Ztub3^?)mrNrJ5$0j_42DlXZQ};#@_P-mky-OgzCY)2Kwx;pmY}Z;U2XxE!uf(t;GF<@-sj0M{Uo24J|oIY?*!&3B+G zaqmUxUBU6Eoh&1p{nT%B9}$YVr)fRAdbw*zC}H$DOyc1;+~4qH+R2(204j~l2m61l z<+*mD>E>}d7ZPH^C}Wx58}UuiR2xlLq{>yZptn^c-;DErPmg6z1l``;^7w2*6>UIQ zNflip-+;Oh5gSTD1@CFjW{2g}b^AOUyA6(P5;d8bh0Kw<6t{kS{sMlddr25~EmGjw z<60g{Jywlv%lHM}D22npxGVf1QCEn>Kco4Ye3cRble3b<@l15)$X#a z>X}c1+x+xst}91KLaT-gOcB^&Mw1Upj+!S?ShcPH4doX{O) zCg@r?km$;0AZjrxp; zE}#RTQVirRY0dLAtk1!Yncjj7Ea(%VmNI~MA#HYES*)XDT%KpLW;m3jTC{R+=J!%Z z!mMseDod!fDPfdSy47c1c?b2~K{Oa-x*Bz|IcqAC@;QV~qY}YYHb9(~L5EX$K(~aL zg;b@InqXuMkin_=+bdkqws4N!vggF(3q_s+Fc0<(^ju;PfS2kmuZ5*H%gYSs z57wHbgHicwE<2L@HaXl5jx4b5n+oZSsasXz2RO-Z0#cMJHD15`YT4z%BsnH9>t%^t z*N;9@K!$lx^m9#0n=za8Q!#~V7EM8Rg7w2&=C6$(HMeU_FR>kEtO+V?#)@$(X2XN+ zYu93nqnbFm1eY;S7U)|vcH8bFnapld9yy0kyqiMx<##8b@Xu6%(e_0SKP1M(jo`3) zD*s6Yu0^Vpj)2vOYM_`03^WRWQQcBFz{^eefO&v=Xr4QeN^^UsHULx~Z)P8aDzt7nblwe6m|!oGfw5m3KOnngkizT9FN-fO47+4adUAx z+yNi}QRcERy~L~c9TlM+`iI3{>qjxekv1%C(|`gWodjvs>&`AX1ZEKMKkz-U46Nkd zC;01YcCEj}1ZBMQci|;kyFY1LM_9;>P`A7KoKBw1oO|GY|L*6Jyxc^4_6rYR2mLh$ z`=sELR5E>t?$>7;pDFyRDLEd4pBC^BjA(eD3z?;*{VpE~gBLZu$DAP`&~?mc$N_!y zdUbJ|>*$j8=Y?=*TQv;>3F)8!_8*qSwz!w%#ufV?8$x8FU?F?<%{D5eyQ!_xy5cQc znISH&a!MrZxF6<+tUUk5p;QXUrcwX)x1EMq0P-5?tz{qm(j)-5B4(ULxx$M5mm?l) z_iI%bZ@!4U`BlrA*u2ccz&Vx=boZU+Hmpe+RC^I`eElc`CewToADCH31oDH!da52-^6al$NUXE+X>c`O7fZ|BdYQAi#z8O-D|Z zHWC1pCT7w7%us+w3XC9YhF+Rchyq@SI9zdtu||jHel|gGI>nQ7G^7R7zc`e#&W%{C zjyQz2+0R@I4eLH%bTJnk^#s<}5Cin)4wwoEJ zOi#og;O{mQ5ZK?SaPhr-`LXJH?F9!8eo4$|c4>Ln(rVpOi~dzN*5VmeICXTKlmu>m z{dPfg(|a2>S_FSd$s~^7eF#$Brng3^;x9{aNbv(^-o)sp@#iWaef^mhakMdcaADUfLb#bN;oG&4@e8>ge&16yM;CN zi3_?SCu=YDaMNNoDMP0-UtNzRKk|#G!3_I~iC&58_1`@l5EH^{aK!;sBHk4OS?QT%TKz!*AF=1No+-EiL?qv9 z1xYptgbh83mosSYZO5zuDw?tvK_$)N@eD`3%;b?b%jzX)Qxs^RA2;dp@DldSvY2RJSyaB|d8iY1}DKjVb#RnBn zaM1tIyh~M8RhD1;Xw-v4Mk0lbks*wu`h`V@wF=P;oEN3%& zMqB)nrd6_`z4Zt*T6%qOIKkg2>ci8X(!l@Zc|Cy^iyd#mGj)naY z=0-y)#z0CiuL_W*5D?A!7|5}ZS)0n0`QaHkRFqc=`z1qDwX~o`L3f4~pW0n1N4~U_ zBI0{xWMB|A*X2+QJLG=djn6K8Sj18uS*c~toV2~G0mD}jd<&c?Ra6G6ot0QBPLWVT z4o2HwSp*Ohq@?%BxwAt6EJjGwD@WV>3$D3S!s-Gbd_T&*;k9C4<4ankH@PqGeqwG}UqA7_ zG&rL(!S%=cJAZg_$-8U5qr08-r=fQcfW9`kp?s0#Pz51;*e!>Q9CVj3c{%+}K$_

2bShgbHhzf|b+MKDIx%WJL-i>w}@6X|8)e4o^&-%{i9GH|=^H zXQCRHPY)Z0H-F>Jhpy-Sj_mKBt?*$VoQO?&L|01xbIy zRw!rWYH#ds&Z0miBV@-Dhgsmr`kT5JyY=I;tPfGG$l9tzQLjNk(8pQnPqP{MMBvy5 z4zD-f1joNeEJOS2?B=@c;OVRKs1Ex)S-Q&?4wT0_yM;8=eMer{Est(H1Mh)MluF@N zZ}eOZB?GLFhY;+5>c!vQQ<7V3YQokCKuF5OOargvzN78P@n~?h-3hukY#h#Cj(C^~ z$>wkAkKC1Q`YAtDCi4P`V;hE(CZe*sfh*mUzt*;*&ObUTOSBhk!Tr!J$zJ+pw|omyP;o z%Ir!!u7)cs4Wr#}1ASc)$|@09LIB>KYJR2x*Ck1dZUp{nJDfrTt(L2og1$6E6nd4Y zWuNZj=>!rG0uY@oJk1Lp?Y^!ehL#~{0>5*p#Xe65#`)VfzOqwUbR~7sNFLK{jQ6BTg|1 z5$iVmq#vgi-&{YINS6#r5MB~Cpq2TNuRYbVm*1jLo!afw53Iz8Rb8hu4^rXHlR&I$ zt9|``gCriY4)q|AG&iTd*(QH+tfh!Le2&l?2j7LR>}|}9Fw@ℜ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

^5oF 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

  • G5N}IjRHACC_zx&i)Q30hu1X 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 literal 0 HcmV?d00001 diff --git a/logback-core/src/main/java/com/tersesystems/logback/TerseBasicMarker.java b/logback-core/src/main/java/com/tersesystems/logback/TerseBasicMarker.java new file mode 100644 index 00000000..570695b0 --- /dev/null +++ b/logback-core/src/main/java/com/tersesystems/logback/TerseBasicMarker.java @@ -0,0 +1,164 @@ +/* + * SPDX-License-Identifier: CC0-1.0 + * + * Copyright 2018-2019 Will Sargent. + * + * Licensed under the CC0 Public Domain Dedication; + * You may obtain a copy of the License at + * + * http://creativecommons.org/publicdomain/zero/1.0/ + */ +package com.tersesystems.logback; + +import org.slf4j.Marker; + +import java.util.Collections; +import java.util.Iterator; +import java.util.List; +import java.util.Vector; + +/** + * A marker that can be extended with custom behavior. + * + * Following on from logstash-logback-marker + */ +public class TerseBasicMarker implements Marker { + + private final String name; + private List referenceList; + + public TerseBasicMarker(String name) { + if (name == null) { + throw new IllegalArgumentException("A marker name cannot be null"); + } + this.name = name; + } + + public String getName() { + return name; + } + + public synchronized void add(Marker reference) { + if (reference == null) { + throw new IllegalArgumentException( + "A null value cannot be added to a Marker as reference."); + } + + // no point in adding the reference multiple times + // avoid recursion + // a potential reference should not its future "parent" as a reference + if (!(this.contains(reference) || reference.contains(this))) { + // let's add the reference + if (referenceList == null) { + referenceList = new Vector(); + } + referenceList.add(reference); + } + } + + public synchronized boolean hasReferences() { + return ((referenceList != null) && (referenceList.size() > 0)); + } + + public boolean hasChildren() { + return hasReferences(); + } + + public synchronized Iterator iterator() { + return referenceList != null ? referenceList.iterator() : Collections.emptyIterator(); + } + + public synchronized boolean remove(Marker referenceToRemove) { + if (referenceList != null) { + for (int i = 0; i < referenceList.size(); i++) { + Marker m = referenceList.get(i); + if (referenceToRemove.equals(m)) { + referenceList.remove(i); + return true; + } + } + } + return false; + } + + public boolean contains(Marker other) { + if (other == null) { + throw new IllegalArgumentException("Other cannot be null"); + } + + if (this.equals(other)) { + return true; + } + + if (hasReferences()) { + for (Marker ref : referenceList) { + if (ref.contains(other)) { + return true; + } + } + } + return false; + } + + /** + * This method is mainly used with Expression Evaluators. + */ + public boolean contains(String name) { + if (name == null) { + throw new IllegalArgumentException("Other cannot be null"); + } + + if (this.name.equals(name)) { + return true; + } + + if (hasReferences()) { + for (Marker ref : referenceList) { + if (ref.contains(name)) { + return true; + } + } + } + return false; + } + + private static final String OPEN = "[ "; + private static final String CLOSE = " ]"; + private static final String SEP = ", "; + + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (!(obj instanceof Marker)) + return false; + + final Marker other = (Marker) obj; + return name.equals(other.getName()); + } + + public int hashCode() { + return name.hashCode(); + } + + public String toString() { + if (!this.hasReferences()) { + return this.getName(); + } + Iterator it = this.iterator(); + Marker reference; + StringBuilder sb = new StringBuilder(this.getName()); + sb.append(' ').append(OPEN); + while (it.hasNext()) { + reference = it.next(); + sb.append(reference.getName()); + if (it.hasNext()) { + sb.append(SEP); + } + } + sb.append(CLOSE); + + return sb.toString(); + } +} \ No newline at end of file diff --git a/settings.gradle b/settings.gradle index 477cc85d..2afc89f7 100644 --- a/settings.gradle +++ b/settings.gradle @@ -20,11 +20,12 @@ def includeProject = { String projectName -> } includeProject 'logback-bytebuddy' -includeProject 'logback-structured-config' includeProject 'logback-censor' includeProject 'logback-context' includeProject 'logback-core' includeProject 'logback-typesafe-config' +includeProject 'logback-structured-config' +includeProject 'logback-audio' includeProject 'logback-example' includeProject 'logback-guice-example' includeProject 'logstash-logback-context'