Skip to content

Commit

Permalink
Use LogCategoryBuildItem on Micromenter logging config
Browse files Browse the repository at this point in the history
  • Loading branch information
brunobat committed Feb 6, 2025
1 parent db011a2 commit c6bc006
Showing 1 changed file with 15 additions and 13 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
import org.jboss.jandex.DotName;
import org.jboss.jandex.IndexView;
import org.jboss.jandex.MethodInfo;
import org.jboss.logmanager.Level;

import io.micrometer.core.annotation.Counted;
import io.micrometer.core.annotation.Timed;
Expand All @@ -36,8 +37,8 @@
import io.quarkus.deployment.annotations.ExecutionTime;
import io.quarkus.deployment.annotations.Record;
import io.quarkus.deployment.builditem.CombinedIndexBuildItem;
import io.quarkus.deployment.builditem.LogCategoryBuildItem;
import io.quarkus.deployment.builditem.ShutdownContextBuildItem;
import io.quarkus.deployment.builditem.SystemPropertyBuildItem;
import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
import io.quarkus.deployment.builditem.nativeimage.ReflectiveMethodBuildItem;
import io.quarkus.deployment.logging.LoggingSetupBuildItem;
Expand Down Expand Up @@ -201,6 +202,18 @@ public void transform(TransformationContext ctx) {
});
}

@BuildStep
void configLoggingLevel(BuildProducer<LogCategoryBuildItem> logCategoryProducer) {
// Avoid users from receiving:
// [io.mic.cor.ins.com.CompositeMeterRegistry] (main) A MeterFilter is being configured after a Meter has been
// registered to this registry...
// It's unavoidable because of how Quarkus startup works and users cannot do anything about it.
// see: https://github.com/micrometer-metrics/micrometer/issues/4920#issuecomment-2298348202
logCategoryProducer.produce(new LogCategoryBuildItem(
"io.micrometer.core.instrument.composite.CompositeMeterRegistry",
Level.ERROR));
}

@BuildStep
@Consume(BeanContainerBuildItem.class)
@Record(ExecutionTime.STATIC_INIT)
Expand Down Expand Up @@ -235,18 +248,7 @@ void configureRegistry(MicrometerRecorder recorder,
MicrometerConfig config,
List<MicrometerRegistryProviderBuildItem> providerClassItems,
List<MetricsFactoryConsumerBuildItem> metricsFactoryConsumerBuildItems,
ShutdownContextBuildItem shutdownContextBuildItem,
BuildProducer<SystemPropertyBuildItem> systemProperty) {

// Avoid users from receiving:
// [io.mic.cor.ins.com.CompositeMeterRegistry] (main) A MeterFilter is being configured after a Meter has been
// registered to this registry...
// It's unavoidable because of how Quarkus startup works and users cannot do anything about it.
// see: https://github.com/micrometer-metrics/micrometer/issues/4920#issuecomment-2298348202
systemProperty.produce(
new SystemPropertyBuildItem(
"quarkus.log.category.\"io.micrometer.core.instrument.composite.CompositeMeterRegistry\".level",
"ERROR"));
ShutdownContextBuildItem shutdownContextBuildItem) {

Set<Class<? extends MeterRegistry>> typeClasses = new HashSet<>();
for (MicrometerRegistryProviderBuildItem item : providerClassItems) {
Expand Down

0 comments on commit c6bc006

Please sign in to comment.