It seems that the LoggerAppenderMongoDB of log4php does not require a layout, and it dose not even use any layout at least by default even if you specify a layout in the config.xml file.
Dose anybody know that how to force log4php LoggerAppenderMongoDB to use the specified layout in the config.xml?
my config.xml looks like:
<appender name="myConsoleAppender" class="LoggerAppenderConsole" />
<appender name="myFileAppender" class="LoggerAppenderFile">
<layout class="LoggerLayoutPattern">
<param name="conversionPattern" value="%date %server{REMOTE_ADDR}:%server{REMOTE_PORT} [%logger] %message%newline" />
</layout>
<param name="file" value="myLog.log" />
</appender>
<appender name="myMongoDBAppender" class="LoggerAppenderMongoDB">
<layout class="LoggerLayoutPattern">
<param name="conversionPattern" value="%date %server{REMOTE_ADDR}:%server{REMOTE_PORT} [%logger] %message%newline" />
</layout>
<param name="host" value="mongodb://xxxxx" />
<param name="port" value="xxxx" />
<param name="databaseName" value="xxxxx" />
<param name="collectionName" value="xxxx" />
</appender>
<logger name="myLogger">
<appender_ref ref="myMongoDBAppender" />
</logger>
<root>
<appender_ref ref="myFileAppender" />
</root>
Now the logs going to the file are using the specified layout, but the ones going to MongoDB is not.