Code:Server log4jxml
From Red5Tutorials
log4j.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration>
<appender name="STATS" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="${vod.root}/logs/stats/stats.log"/>
<param name="DatePattern" value="'.'yyyy-MM-dd"/>
<param name="Threshold" value="INFO"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="%m %n"/>
</layout>
</appender>
<appender name="APP" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="${vod.root}/logs/application/app.log"/>
<param name="DatePattern" value="'.'yyyy-MM-dd"/>
<param name="Threshold" value="INFO"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="[%p] %r %t:( %c{1}.%M ) %m %n"/>
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMin" value="INFO"/>
</filter>
</appender>
<logger name="stats.Application">
<level value="INFO"/>
<appender-ref ref="STATS"/>
</logger>
<logger name="app.Application">
<level value="INFO"/>
<appender-ref ref="APP"/>
</logger>
<logger name="generator.FileNameGenerator">
<level value="INFO"/>
<appender-ref ref="APP"/>
</logger>
</log4j:configuration>
web.xml
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/log4j.xml</param-value>
</context-param>
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>vod.root</param-value>
</context-param>
Context parameter becomes ${vod.root} which is loadable in the config files.
There is a need for a standard logging bean be setup which can log the seperate internal red5 information per application, log for the entire server, and application stats logging, once the stats API is available into W3C logging like FMS.

