上一篇文章简单说了一下Red5的配置,其中最后提到web.xml中的一段错误配置,该错误的主要原因就是日志的配置错误,这篇文章就详细说一下Red5中怎么来设置日志,日志是用来调试和查找错误的主要途径,有必要在应用程序中使用日志,并详细记录它。
继续上一篇用到的newapp项目,使用日志需要引入下面几个jar文件
log4j-over-slf4j-1.5.10.jar logback-classic-0.9.18.jar logback-core-0.9.18.jar slf4j-api-1.5.10.jar
下面在src目录下,创建一个logback-newapp.xml的文件,该文件用来对日志做一些配置,内容如下:
<?xml version="1.0" encoding="UTF-8"?> <configuration> <contextName>newapp</contextName> <jmxConfigurator contextName="newapp" /> <appender name="NEWAPP" class="ch.qos.logback.core.FileAppender"> <File>log/newapp.log</File> <Append>true</Append> <Encoding>UTF-8</Encoding> <BufferedIO>false</BufferedIO> <ImmediateFlush>true</ImmediateFlush> <layout class="ch.qos.logback.classic.PatternLayout"> <Pattern> %date [%thread] %-5level %logger{35} - %msg%n </Pattern> </layout> </appender> <root> <appender-ref ref="NEWAPP" /> </root> <logger name="my.red5.first"> <level value="DEBUG" /> </logger> </configuration>
里面的newapp可以按照自己的定义来写,另外需注意logger标签的name不能是newapp,可以随便起个名字。
设置完上面的,就可以在程序中使用日志了,在Application类中定义下面的属性
protected static Logger log = Red5LoggerFactory.getLogger(Application.class, "newapp");
其中getLogger的第二个参数是配置文件中的contextName。
现在可以在应用程序中使用日志了,例如log.DEBUG("调试内容");,除DEBUG外还有其他几种方式:INFO、WARN、ERROR、TRACE,优先级不相同,可以在配置文件的logger的level标签下设置,可以输出指定优先级之下的信息。