Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions lib/picocli-logback-level-mixin/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# 0.0.3

* log to stderr

# 0.0.2 - `2026-07-08T10:26:32-04:00`

* publish to maven central

# 0.0.1

* able to set verbosity as [picocli][picocli] mixin
* move code here

[picocli]: https://picocli.info
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
import ch.qos.logback.classic.Level;
import ch.qos.logback.classic.Logger;
import ch.qos.logback.classic.LoggerContext;
import ch.qos.logback.classic.spi.ILoggingEvent;
import ch.qos.logback.core.ConsoleAppender;
import lombok.*;
import lombok.experimental.Accessors;
import org.slf4j.LoggerFactory;
Expand All @@ -14,9 +16,9 @@
@Accessors(chain = true)
@ToString(onlyExplicitlyIncluded = true)
@EqualsAndHashCode(onlyExplicitlyIncluded = true)
public class LogbackVerbosityMixin {

Check warning on line 19 in lib/picocli-logback-level-mixin/src/main/java/info/ankin/projects/picocli/logback/verbosity/LogbackVerbosityMixin.java

View workflow job for this annotation

GitHub Actions / publish

no comment
public static final List<Level> LEVELS = List.of(Level.OFF, Level.ERROR, Level.WARN, Level.INFO, Level.DEBUG, Level.TRACE);

Check warning on line 20 in lib/picocli-logback-level-mixin/src/main/java/info/ankin/projects/picocli/logback/verbosity/LogbackVerbosityMixin.java

View workflow job for this annotation

GitHub Actions / publish

no comment
public static final int DEFAULT_LEVEL = 2;

Check warning on line 21 in lib/picocli-logback-level-mixin/src/main/java/info/ankin/projects/picocli/logback/verbosity/LogbackVerbosityMixin.java

View workflow job for this annotation

GitHub Actions / publish

no comment

@Getter(AccessLevel.NONE)
@Setter(AccessLevel.NONE)
Expand All @@ -27,20 +29,28 @@
@Setter(AccessLevel.NONE)
int verbosity;

public LogbackVerbosityMixin() {

Check warning on line 32 in lib/picocli-logback-level-mixin/src/main/java/info/ankin/projects/picocli/logback/verbosity/LogbackVerbosityMixin.java

View workflow job for this annotation

GitHub Actions / publish

no comment
this(LEVELS.get(DEFAULT_LEVEL));
}

public LogbackVerbosityMixin(Level defaultLevel) {

Check warning on line 36 in lib/picocli-logback-level-mixin/src/main/java/info/ankin/projects/picocli/logback/verbosity/LogbackVerbosityMixin.java

View workflow job for this annotation

GitHub Actions / publish

no comment
rootLogger = ((LoggerContext) LoggerFactory.getILoggerFactory()).getLogger(Logger.ROOT_LOGGER_NAME);
rootLogger.setLevel(defaultLevel);
}

public static void logToStderr() {

Check warning on line 41 in lib/picocli-logback-level-mixin/src/main/java/info/ankin/projects/picocli/logback/verbosity/LogbackVerbosityMixin.java

View workflow job for this annotation

GitHub Actions / publish

no comment
((LoggerContext) LoggerFactory.getILoggerFactory()).getLogger(Logger.ROOT_LOGGER_NAME).iteratorForAppenders().forEachRemaining(a -> {
if (a instanceof ConsoleAppender<ILoggingEvent> c) {
c.setOutputStream(System.err);
}
});
}

@CommandLine.Option(
names = {"-v", "--verbose"},
description = "Increase verbosity. Specify multiple times to increase (-vvv)."
)
public void verbosity(boolean[] verbosity) {

Check warning on line 53 in lib/picocli-logback-level-mixin/src/main/java/info/ankin/projects/picocli/logback/verbosity/LogbackVerbosityMixin.java

View workflow job for this annotation

GitHub Actions / publish

no comment
// default is warn, for every other one, set it
int delta = 0;
for (boolean b : verbosity) {
Expand All @@ -50,7 +60,7 @@
setVerbosity(delta);
}

public void setVerbosity(int verbosity) {

Check warning on line 63 in lib/picocli-logback-level-mixin/src/main/java/info/ankin/projects/picocli/logback/verbosity/LogbackVerbosityMixin.java

View workflow job for this annotation

GitHub Actions / publish

no comment
this.verbosity = verbosity;
int newLevel = DEFAULT_LEVEL + verbosity;
int legalNewLevel = newLevel < 0
Expand Down
2 changes: 1 addition & 1 deletion lib/picocli-logback-level-mixin/version.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.0.2
0.0.3-SNAPSHOT
Loading