You shouldn't be using a layout on the ForwardingAppender. The ForwardingAppender always ignores that value. log4net doesn't concatenate the layout from your ForwardingAppender with the Console/RollingFileAppender.
You'll have to copy the %m to the Console/RollingFileAppenders' layout. ----- Original Message ---- From: Loren Keagle <[EMAIL PROTECTED]> To: log4net-user@logging.apache.org Sent: Friday, August 22, 2008 8:01:57 PM Subject: Multiple Layouts to the same appender I have an application that contains a subsystem with its own logging infrastructure. I can hook into this logging system to intercept the log messages, but the messages are already formatted. Rather than parse and decompose these messages, I simply used a PatternLayout to match the layout of the subsystem. However, I also need to log from my own code to the same file. This means I need to have an empty layout for the logger that's logging the subsystem messages, and a formatted layout for all the other loggers. I've tried using a ForwardingAppender, and setting a layout in there, but that layout is overridden by the layout in the FileAppender. If I leave the layout off of ForwardingAppender, I get a log4net error. It seems as though the chain of responsibility is reversed for the layouts than what it should be... Shouldn't log4net use the first layout it finds as it traces up the hierarchy, rather than the root layout? Why is the layout in my ForwardingAppender ignored? Here is my config block: <log4net> <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender" > <layout type="log4net.Layout.PatternLayout"> <ConversionPattern value=" %d{HH:mm:ss.fff} %14c{1} %m%n" /> </layout> </appender> <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender"> <file value="log.txt" /> <appendToFile value="true" /> <rollingStyle value="Size" /> <maxSizeRollBackups value="5" /> <maximumFileSize value="10MB" /> <staticLogFileName value="true" /> <layout type="log4net.Layout.PatternLayout"> <ConversionPattern value=" %d{HH:mm:ss.fff} %14c{1} %m%n" /> </layout> </appender> <appender name="ForwardingAppender" type="log4net.Appender.ForwardingAppender" > <appender-ref ref="ConsoleAppender" /> <appender-ref ref="RollingFileAppender" /> <layout type="log4net.Layout.PatternLayout"> <ConversionPattern value="%m" /> </layout> </appender> <root> <level value="DEBUG" /> <appender-ref ref="RollingFileAppender" /> <appender-ref ref="ConsoleAppender" /> </root> <logger name="subsystem" additivity="false" > <appender-ref ref="ForwardingAppender" /> </logger> </log4net>