gitextract_k2vdfda5/ ├── .github/ │ └── ISSUE_TEMPLATE/ │ ├── bug_report.md │ └── feature_request.md ├── .gitignore ├── .java-version ├── LICENSE ├── README.md ├── RELEASING.md ├── build.gradle ├── docs/ │ ├── guide/ │ │ ├── audio.md │ │ ├── budget.md │ │ ├── censor.md │ │ ├── composite.md │ │ ├── compression.md │ │ ├── correlationid.md │ │ ├── exception-mapping.md │ │ ├── instrumentation.md │ │ ├── jdbc.md │ │ ├── relativens.md │ │ ├── select.md │ │ ├── slf4jbridge.md │ │ ├── tracing.md │ │ ├── turbomarker.md │ │ ├── typesafeconfig.md │ │ └── uniqueid.md │ ├── index.md │ └── reading/ │ └── reading.md ├── gradle/ │ ├── LICENSE_HEADER │ ├── java-publication.gradle │ ├── release.gradle │ └── wrapper/ │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradle.properties ├── gradlew ├── gradlew.bat ├── logback-audio/ │ ├── gradle.properties │ ├── logback-audio.gradle │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── com/ │ │ └── tersesystems/ │ │ └── logback/ │ │ └── audio/ │ │ ├── AudioAppender.java │ │ ├── AudioMarker.java │ │ ├── AudioMarkerAppender.java │ │ ├── FilePlayer.java │ │ ├── PlayMethods.java │ │ ├── Player.java │ │ ├── PlayerAction.java │ │ ├── PlayerAttachable.java │ │ ├── PlayerConverter.java │ │ ├── PlayerException.java │ │ ├── ResourcePlayer.java │ │ ├── SimplePlayer.java │ │ ├── SystemPlayer.java │ │ └── URLPlayer.java │ └── test/ │ ├── java/ │ │ └── com/ │ │ └── tersesystems/ │ │ └── logback/ │ │ └── audio/ │ │ ├── TestAudio.java │ │ └── TestNested.java │ └── resources/ │ ├── bark.ogg │ ├── drip.ogg │ ├── glass.ogg │ ├── logback-with-converter.xml │ ├── logback-with-marker-appender.xml │ ├── logback-with-nested-appender.xml │ ├── message.ogg │ └── sample.ogg ├── logback-budget/ │ ├── gradle.properties │ ├── logback-budget.gradle │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── com/ │ │ └── tersesystems/ │ │ └── logback/ │ │ └── budget/ │ │ ├── BudgetEvaluator.java │ │ ├── BudgetRule.java │ │ ├── BudgetRuleAction.java │ │ ├── BudgetRuleAttachable.java │ │ └── BudgetTurboFilter.java │ └── test/ │ ├── java/ │ │ └── com.tersesystems.logback.budget/ │ │ ├── BudgetEvaluatorTest.java │ │ └── BudgetTurboFilterTest.java │ └── resources/ │ ├── logback-budget.xml │ └── logback-turbofilter.xml ├── logback-bytebuddy/ │ ├── gradle.properties │ ├── logback-bytebuddy.gradle │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── com/ │ │ └── tersesystems/ │ │ └── logback/ │ │ └── bytebuddy/ │ │ ├── AdviceConfig.java │ │ ├── LogbackInstrumentationAgent.java │ │ ├── LoggingInstrumentationAdvice.java │ │ ├── LoggingInstrumentationByteBuddyBuilder.java │ │ ├── MethodInfo.java │ │ ├── MethodInfoLookup.java │ │ └── impl/ │ │ ├── DeclaringTypeLoggerResolver.java │ │ ├── Enter.java │ │ ├── Exit.java │ │ ├── FixedLoggerResolver.java │ │ ├── LoggerResolver.java │ │ ├── SafeArguments.java │ │ └── SystemFlow.java │ └── test/ │ ├── java/ │ │ └── com/ │ │ └── tersesystems/ │ │ └── logback/ │ │ └── bytebuddy/ │ │ ├── AdviceConfigTest.java │ │ ├── ClassCalledByAgent.java │ │ ├── InProcessInstrumentationExample.java │ │ └── PreloadedInstrumentationExample.java │ └── resources/ │ ├── logback-test.xml │ └── logback.conf ├── logback-censor/ │ ├── gradle.properties │ ├── logback-censor.gradle │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── com/ │ │ └── tersesystems/ │ │ └── logback/ │ │ └── censor/ │ │ ├── Censor.java │ │ ├── CensorAction.java │ │ ├── CensorAttachable.java │ │ ├── CensorConstants.java │ │ ├── CensorContextAware.java │ │ ├── CensorConverter.java │ │ ├── CensorRefAction.java │ │ ├── CensoringJsonGeneratorDecorator.java │ │ ├── CensoringPrettyPrintingJsonGeneratorDecorator.java │ │ └── RegexCensor.java │ └── test/ │ ├── java/ │ │ └── com/ │ │ └── tersesystems/ │ │ └── logback/ │ │ └── censor/ │ │ ├── CensorActionTest.java │ │ ├── CensoringJsonGeneratorDecoratorTest.java │ │ ├── RegexCensorTest.java │ │ └── TestAppender.java │ └── resources/ │ ├── test1.xml │ ├── test2.xml │ ├── test3.xml │ └── test4.xml ├── logback-classic/ │ ├── gradle.properties │ ├── logback-classic.gradle │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── com/ │ │ └── tersesystems/ │ │ └── logback/ │ │ └── classic/ │ │ ├── ChangeLogLevel.java │ │ ├── ContainerEventAppender.java │ │ ├── ContainerProxyLoggingEvent.java │ │ ├── ContextAwareBasicMarker.java │ │ ├── ExceptionMessageConverter.java │ │ ├── FormatParamsDecider.java │ │ ├── IContainerLoggingEvent.java │ │ ├── ILoggingEventFactory.java │ │ ├── LoggerDecider.java │ │ ├── LoggingEventFactory.java │ │ ├── MarkerLoggerDecider.java │ │ ├── NanoTime.java │ │ ├── NanoTimeComponentAppender.java │ │ ├── NanoTimeConverter.java │ │ ├── NanoTimeMarker.java │ │ ├── NanoTimeSupplier.java │ │ ├── ProxyLoggingEvent.java │ │ ├── SLF4JBridgeHandlerAction.java │ │ ├── SetLoggerLevelsAction.java │ │ ├── StartTime.java │ │ ├── StartTimeConverter.java │ │ ├── StartTimeMarker.java │ │ ├── StartTimeSupplier.java │ │ ├── TapFilter.java │ │ ├── TerseBasicMarker.java │ │ ├── TerseHighlightConverter.java │ │ ├── TimeSinceEpochConverter.java │ │ ├── TurboFilterDecider.java │ │ ├── Utils.java │ │ ├── encoder/ │ │ │ └── PatternLayoutEncoder.java │ │ ├── functional/ │ │ │ ├── GetAppenderFunction.java │ │ │ ├── GetSiftedAppenderFunction.java │ │ │ └── RootLoggerSupplier.java │ │ └── sift/ │ │ ├── DiscriminatingMarker.java │ │ ├── DiscriminatingMarkerFactory.java │ │ ├── DiscriminatingValue.java │ │ └── MarkerBasedDiscriminator.java │ └── test/ │ ├── java/ │ │ └── com/ │ │ └── tersesystems/ │ │ └── logback/ │ │ └── classic/ │ │ ├── ChangeLogLevelTest.java │ │ ├── CorrelationIdMarker.java │ │ ├── CorrelationIdTurboFilter.java │ │ ├── EnabledFilterTest.java │ │ ├── ExceptionMessageConverterTest.java │ │ ├── SetLoggerLevelsActionTest.java │ │ ├── TapFilterTest.java │ │ ├── TerseHighlightConverterTest.java │ │ └── UtilsTest.java │ └── resources/ │ ├── logback-tapfilter-correlation.xml │ └── logback-tapfilter.xml ├── logback-compress-encoder/ │ ├── gradle.properties │ ├── logback-compress-encoder.gradle │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── com.tersesystems.logback.compress/ │ │ ├── CompressingEncoder.java │ │ └── CompressingFileAppender.java │ └── test/ │ ├── java/ │ │ └── com/ │ │ └── tersesystems/ │ │ └── logback/ │ │ └── compress/ │ │ └── Utils.java │ └── resources/ │ └── logback-with-zstd-encoder.xml ├── logback-core/ │ ├── gradle.properties │ ├── logback-core.gradle │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── com/ │ │ └── tersesystems/ │ │ └── logback/ │ │ └── core/ │ │ ├── AbstractAppender.java │ │ ├── Component.java │ │ ├── ComponentContainer.java │ │ ├── CompositeAppender.java │ │ ├── DecoratingAppender.java │ │ ├── DefaultAppenderAttachable.java │ │ ├── EnabledFilter.java │ │ ├── SelectAppender.java │ │ ├── encoder/ │ │ │ └── LayoutWrappingEncoder.java │ │ └── pattern/ │ │ └── PatternLayoutEncoderBase.java │ └── test/ │ ├── java/ │ │ └── com/ │ │ └── tersesystems/ │ │ └── logback/ │ │ └── core/ │ │ ├── CompositeAppenderTest.java │ │ ├── SelectAppenderTest.java │ │ └── TestAppender.java │ └── resources/ │ ├── logback-with-composite-appender.xml │ └── logback-with-select-appender.xml ├── logback-correlationid/ │ ├── gradle.properties │ ├── logback-correlationid.gradle │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── com/ │ │ └── tersesystems/ │ │ └── logback/ │ │ └── correlationid/ │ │ ├── CorrelationIdDecider.java │ │ ├── CorrelationIdFilter.java │ │ ├── CorrelationIdMarker.java │ │ ├── CorrelationIdProvider.java │ │ ├── CorrelationIdTapFilter.java │ │ └── CorrelationIdUtils.java │ └── test/ │ ├── java/ │ │ └── com.tersesystems.logback.correlationid/ │ │ ├── CorrelationIdFilterTest.java │ │ └── CorrelationIdTapFilterTest.java │ └── resources/ │ ├── logback-correlationid-jdbc.xml │ ├── logback-correlationid-tapfilter.xml │ ├── logback-correlationid.xml │ └── spy.properties ├── logback-exception-mapping/ │ ├── gradle.properties │ ├── logback-exception-mapping.gradle │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── com/ │ │ └── tersesystems/ │ │ └── logback/ │ │ └── exceptionmapping/ │ │ ├── BeanExceptionMapping.java │ │ ├── Constants.java │ │ ├── DefaultExceptionMappingRegistry.java │ │ ├── ExceptionCauseIterator.java │ │ ├── ExceptionHierarchyIterator.java │ │ ├── ExceptionMapping.java │ │ ├── ExceptionMappingAction.java │ │ ├── ExceptionMappingRegistry.java │ │ ├── ExceptionMappingRegistryAction.java │ │ ├── ExceptionMessageWithMappingsConverter.java │ │ ├── ExceptionProperty.java │ │ ├── FunctionExceptionMapping.java │ │ └── KeyValueExceptionProperty.java │ └── test/ │ ├── java/ │ │ └── com/ │ │ └── tersesystems/ │ │ └── logback/ │ │ └── exceptionmapping/ │ │ ├── ExceptionMappingTest.java │ │ ├── MyCustomException.java │ │ └── Thrower.java │ └── resources/ │ └── logback-test.xml ├── logback-exception-mapping-providers/ │ ├── gradle.properties │ ├── logback-exception-mapping-providers.gradle │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── com/ │ │ └── tersesystems/ │ │ └── logback/ │ │ └── exceptionmapping/ │ │ ├── config/ │ │ │ └── TypesafeConfigMappingsAction.java │ │ └── json/ │ │ └── ExceptionArgumentsProvider.java │ └── test/ │ ├── java/ │ │ └── com/ │ │ └── tersesystems/ │ │ └── logback/ │ │ └── exceptionmapping/ │ │ └── json/ │ │ ├── ExceptionArgumentsProviderTest.java │ │ ├── MySpecialException.java │ │ └── TypesafeConfigMappingsActionTest.java │ └── resources/ │ ├── logback-with-exception-mapping.xml │ └── logback.conf ├── logback-honeycomb-appender/ │ ├── gradle.properties │ ├── logback-honeycomb-appender.gradle │ └── src/ │ └── main/ │ └── java/ │ └── com/ │ └── tersesystems/ │ └── logback/ │ └── honeycomb/ │ └── HoneycombAppender.java ├── logback-honeycomb-client/ │ ├── gradle.properties │ ├── logback-honeycomb-client.gradle │ └── src/ │ └── main/ │ └── java/ │ └── com/ │ └── tersesystems/ │ └── logback/ │ └── honeycomb/ │ └── client/ │ ├── HoneycombClient.java │ ├── HoneycombClientService.java │ ├── HoneycombHeaders.java │ ├── HoneycombRequest.java │ └── HoneycombResponse.java ├── logback-honeycomb-okhttp/ │ ├── gradle.properties │ ├── logback-honeycomb-okhttp.gradle │ └── src/ │ └── main/ │ ├── java/ │ │ └── com/ │ │ └── tersesystems/ │ │ └── logback/ │ │ └── honeycomb/ │ │ └── okhttp/ │ │ ├── HoneycombOkHTTPClient.java │ │ └── HoneycombOkHTTPClientService.java │ └── resources/ │ └── META-INF/ │ └── services/ │ └── com.tersesystems.logback.honeycomb.client.HoneycombClientService ├── logback-jdbc-appender/ │ ├── gradle.properties │ ├── logback-jdbc-appender.gradle │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── com/ │ │ └── tersesystems/ │ │ └── logback/ │ │ └── jdbc/ │ │ └── JDBCAppender.java │ └── test/ │ ├── java/ │ │ └── com/ │ │ └── tersesystems/ │ │ └── logback/ │ │ └── jdbc/ │ │ └── JDBCAppenderTest.java │ └── resources/ │ ├── logback-reference.conf │ └── logback-test.xml ├── logback-postgresjson-appender/ │ ├── gradle.properties │ ├── logback-postgresjson-appender.gradle │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── com/ │ │ └── tersesystems/ │ │ └── logback/ │ │ └── postgresjson/ │ │ └── PostgresJsonAppender.java │ └── test/ │ ├── java/ │ │ └── com/ │ │ └── tersesystems/ │ │ └── logback/ │ │ └── postgresjson/ │ │ └── PostgresJsonAppenderTest.java │ └── resources/ │ ├── db/ │ │ └── migration/ │ │ └── V1__logging_table.sql │ └── logback-postgres-json.xml ├── logback-tracing/ │ ├── gradle.properties │ ├── logback-tracing.gradle │ └── src/ │ └── main/ │ └── java/ │ └── com/ │ └── tersesystems/ │ └── logback/ │ └── tracing/ │ ├── EventInfo.java │ ├── EventMarkerFactory.java │ ├── LinkInfo.java │ ├── LinkMarkerFactory.java │ ├── Nullable.java │ ├── SpanInfo.java │ ├── SpanMarkerFactory.java │ └── Tracer.java ├── logback-turbomarker/ │ ├── gradle.properties │ ├── logback-turbomarker.gradle │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── com/ │ │ └── tersesystems/ │ │ └── logback/ │ │ └── turbomarker/ │ │ ├── ContextAwareTurboFilterDecider.java │ │ ├── ContextAwareTurboMarker.java │ │ ├── ContextDecider.java │ │ ├── LoggerContextDecider.java │ │ ├── MarkerContextDecider.java │ │ ├── TurboMarker.java │ │ └── TurboMarkerTurboFilter.java │ └── test/ │ ├── java/ │ │ └── com/ │ │ └── tersesystems/ │ │ └── logback/ │ │ └── turbomarker/ │ │ ├── ApplicationContext.java │ │ ├── DiagnosticLoggingExample.java │ │ ├── LDMarkerFactory.java │ │ ├── LDMarkerTest.java │ │ ├── UserMarker.java │ │ ├── UserMarkerFactory.java │ │ └── UserMarkerTest.java │ └── resources/ │ └── logback-test.xml ├── logback-typesafe-config/ │ ├── gradle.properties │ ├── logback-typesafe-config.gradle │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── com/ │ │ └── tersesystems/ │ │ └── logback/ │ │ └── typesafeconfig/ │ │ ├── ConfigConstants.java │ │ ├── ConfigConversion.java │ │ ├── ConfigListConverter.java │ │ └── TypesafeConfigAction.java │ └── test/ │ ├── java/ │ │ └── com/ │ │ └── tersesystems/ │ │ └── logback/ │ │ └── typesafeconfig/ │ │ ├── ConfigListConverterTest.java │ │ └── TypesafeConfigActionTest.java │ └── resources/ │ ├── logback-test.conf │ └── typesafeconfig/ │ ├── config-with-context.xml │ ├── config-with-default.xml │ └── config-with-local.xml ├── logback-uniqueid-appender/ │ ├── gradle.properties │ ├── logback-uniqueid-appender.gradle │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── com/ │ │ └── tersesystems/ │ │ └── logback/ │ │ └── uniqueid/ │ │ ├── FlakeIdGenerator.java │ │ ├── IdGenerator.java │ │ ├── KsuidSubsecondIdGenerator.java │ │ ├── RandomUUIDIdGenerator.java │ │ ├── TsidIdgenerator.java │ │ ├── UlidIdGenerator.java │ │ ├── UniqueIdComponentAppender.java │ │ ├── UniqueIdConverter.java │ │ └── UniqueIdProvider.java │ └── test/ │ ├── java/ │ │ └── com/ │ │ └── tersesystems/ │ │ └── logback/ │ │ └── uniqueid/ │ │ └── UniqueIdAppenderTest.java │ └── resources/ │ └── logback-with-uniqueid-appender.xml ├── mkdocs.yml ├── settings.gradle └── version.properties