Allow user to pass in additional parameters to <converter> node via some kind of <property> tag -----------------------------------------------------------------------------------------------
Key: LOG4NET-31 URL: http://issues.apache.org/jira/browse/LOG4NET-31 Project: Log4net Type: Improvement Reporter: Ron Grabowski Priority: Minor It would be useful if the user was able to supply additional properties to the <convert> tag in the form of: <property name="foo" value="bar" /> <property name="Hello" value="World" /> The code below uses a <property> node to determine if the HomeAddress or the WorkAddress will appear in the log message. If the parameter is not present, the converter prints a default value. <converter> <name value="user-converter" /> <type value="Company.Project.Logging.UserConverter, Company.Project" /> <property name="Address" value="HomeAddress" /> </converter> <conversionPattern value="%p %d %user-converter{Nicko} - %m%n" /> The <property> tags would be accessible via a Properties IDictionary. It would allow the converter to perform additional logic on the base.Option that was passed in: public class MyConverter : PatternConverter { override protected void Convert(TextWriter writer, object state) { User user = GetUserByUserName(base.Option); string address = base.Properties["Address"] as string; if (address != null && address.Length > 0) { if (user != null) { switch (address) { case "HomeAddress": writer.Write(user.HomeAddress); break; case "WorkAddress": writer.Write(user.WorkdAddress); break; } } else { // ??? } } else { // default display writer.Write(user.HomeAddress); break; } } } -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira