I understand why log4net uses app.config
files for setting up logging - so you can easily change how information is logged without needing to recompile your cod
You can also escape XML completely, I wrote a sample with minimal programmatic configuration here.
In a nutshell, here is what you need
var tracer = new TraceAppender();
var hierarchy = (Hierarchy)LogManager.GetRepository();
hierarchy.Root.AddAppender(tracer);
var patternLayout = new PatternLayout {ConversionPattern = "%m%n"};
patternLayout.ActivateOptions();
tracer.Layout = patternLayout;
hierarchy.Configured = true;