下面列出了怎么用org.slf4j.helpers.BasicMarkerFactory的API类实例代码及写法,或者点击链接到github查看源代码。
@Test
public void testAddMarker() throws Exception {
//given
final Marker marker = new BasicMarkerFactory().getMarker("some marker");
//when
LogbackUtil.addMarker(marker, new HashMap<>(), builder);
//then
assertEquals(builder.build().getMarkerColors(), MarkerColors.Aqua);
assertTrue(builder.build().isMarked());
assertEquals(builder.build().getProperties().get("marker"), "some marker");
}
public StartReportingMetricsToSLF4J(CommandBuilder builder, Config config, Command parent, Command child, MorphlineContext context) {
super(builder, config, parent, child, context);
MetricFilter filter = PatternMetricFilter.parse(getConfigs(), config);
TimeUnit defaultDurationUnit = getConfigs().getTimeUnit(config, "defaultDurationUnit", TimeUnit.MILLISECONDS);
TimeUnit defaultRateUnit = getConfigs().getTimeUnit(config, "defaultRateUnit", TimeUnit.SECONDS);
long frequency = getConfigs().getNanoseconds(config, "frequency", 10 * 1000L * 1000 * 1000); // 10 secs, also see https://github.com/typesafehub/config/blob/master/HOCON.md#duration-format
this.logger = getConfigs().getString(config, "logger", "metrics");
String marker = getConfigs().getString(config, "marker", null);
validateArguments();
MetricRegistry registry = context.getMetricRegistry();
synchronized (REGISTRIES) {
Map<String, Slf4jReporter> reporters = REGISTRIES.get(registry);
if (reporters == null) {
reporters = Maps.newHashMap();
REGISTRIES.put(registry, reporters);
}
Slf4jReporter reporter = reporters.get(logger);
if (reporter == null) {
Builder reporterBuilder = Slf4jReporter.forRegistry(registry)
.filter(filter)
.convertDurationsTo(defaultDurationUnit)
.convertRatesTo(defaultRateUnit)
.outputTo(LoggerFactory.getLogger(logger));
if (marker != null) {
reporterBuilder = reporterBuilder.markWith(new BasicMarkerFactory().getMarker(marker));
}
reporter = reporterBuilder.build();
reporter.start(frequency, TimeUnit.NANOSECONDS);
reporters.put(logger, reporter);
}
}
}
/**
* Currently, this method returns the class name of
* {@link BasicMarkerFactory}.
*/
@Override
public String getMarkerFactoryClassStr() {
return BasicMarkerFactory.class.getName();
}
@Override
public String getMarkerFactoryClassStr() {
return BasicMarkerFactory.class.getName();
}
@Override
public void initialize() {
loggerFactory = new DefaultLoggerFactory();
markerFactory = new BasicMarkerFactory();
mdcAdapter = new NOPMDCAdapter();
}
public String getMarkerFactoryClassStr() {
return BasicMarkerFactory.class.getName();
}
@Override
public void initialize() {
this.loggerFactory = new Slf4jEclipseLoggerFactory();
this.markerFactory = new BasicMarkerFactory();
this.mdc = new BasicMDCAdapter();
}
@Override
public String getMarkerFactoryClassStr() {
return BasicMarkerFactory.class.getName();
}
/**
* Currently, this method returns the class name of
* {@link BasicMarkerFactory}.
*/
@Override
public String getMarkerFactoryClassStr() {
return BasicMarkerFactory.class.getName();
}
/**
* Currently, this method returns the class name of
* {@link BasicMarkerFactory}.
*/
public String getMarkerFactoryClassStr() {
return BasicMarkerFactory.class.getName();
}