Details
-
Question
-
Status: Resolved
-
Minor
-
Resolution: Not A Bug
-
None
-
None
-
None
Description
Hi all,
I would like to programmatically create a configuration for an OutputStreamAppender using the AppenderComponentBuilder approach. I need to set the target output stream, but the .addAttribute("target", myOutputStream) method doesn't work. I have the following static method below:
public static void configureTextStackLogger()
{ ConfigurationBuilder<BuiltConfiguration> builder = ConfigurationBuilderFactory.newConfigurationBuilder(); builder.setStatusLevel(Level.ERROR); builder.setConfigurationName("MyApp"); builder.add(builder.newFilter("ThresholdFilter", Filter.Result.ACCEPT, Filter.Result.NEUTRAL) .addAttribute("level", Level.DEBUG)); AppenderComponentBuilder appenderBuilder = builder.newAppender("MyTextStack", "OutputStream"); appenderBuilder.add(builder.newLayout("PatternLayout") .addAttribute("pattern", "%d [%t] %-5level: %msg%n%throwable")); OutputStreamAppender osa = (OutputStreamAppender (appenderBuilder.getBuilder())) appenderBuilder.add(builder.newFilter("MarkerFilter", Filter.Result.DENY, Filter.Result.NEUTRAL) .addAttribute("marker", "FLOW")); builder.add(appenderBuilder); builder.add(builder.newLogger("com.my.app", Level.INFO) .add(builder.newAppenderRef("MyTextStack")).addAttribute("additivity", false)); builder.add(builder.newRootLogger(Level.ERROR).add(builder.newAppenderRef("MyTextStack"))); Configurator.initialize(builder.build()); }What do I need to do to call the setTarget in OutputStreamAppender.Builder method so I can add my OutputStream?