
Thanks for the hint, this lead me in the right direction ! I found out that a simple context.subst in e.g. the begin part of the action is sufficient. To make things easier for me I created a small helper class: public final class VariableHelper { final static Logger log = LoggerFactory.getLogger(VariableHelper.class); private InterpretationContext context = null; private Attributes attrs = null; private VariableHelper( InterpretationContext context, Attributes attrs ) { this.context = context; this.attrs = attrs; } public static String replace(final InterpretationContext ic, final String str) { String ret = null; log.debug("before subst '{}'", str); ret = ic.subst(str); log.debug("after subst: '{}'", ret); return ret; } public static String replace(final InterpretationContext ic, final Attributes attrs, final String attrName) { return replace(ic, attrs.getValue(attrName)); } public String replace( String attrName ) { return replace( context, attrs, attrName ); } public static VariableHelper createInstance( final InterpretationContext context, final Attributes attrs ) { return new VariableHelper( context, attrs ); } } This class can be used like this: public class FooBarAction extends Action { public void begin(InterpretationContext context, String arg1, Attributes attributes) throws ActionException { VariableHelper vh = VariableHelper.createInstance(context, attributes); String foo = vh.replace("foo"); String bar = vh.replace("sbar"); ... This is a replacement for: String foo = attributes.getValue( "foo" ); foo = context.subst("foo" ); Perhaps this is of help for somebody. -------- Original-Nachricht --------
Datum: Thu, 30 Dec 2010 13:35:37 +0100 Von: Ceki Gulcu <ceki@qos.ch> An: logback users list <logback-user@qos.ch> Betreff: Re: [logback-user] Joran and variable substitution
Hi Marge,
Variable substitution is done by Joran actions on an individual basis. Search for usages of the subst() method of the InterpretationContext class.
-- Neu: GMX De-Mail - Einfach wie E-Mail, sicher wie ein Brief! Jetzt De-Mail-Adresse reservieren: http://portal.gmx.net/de/go/demail