BlazeDS:服务器上存储的日志文件在哪里?

时间:2012-09-18 18:05:45

标签: linux flex glassfish blazeds

如果我的services-config.xml文件中有以下内容用于在linux服务器上设置BlazeDS日志文件,那么它在哪里保存日志文件?或者,输出是否默认显示在Flash Builder 4.6中(例如,日志文件中没有其他信息)?

我一直在试图弄清楚这个

http://livedocs.adobe.com/blazeds/1/blazeds_devguide/help.html?content=services_logging_3.html

但未能弄清楚。我一定错过了一些明显的东西。任何建议表示赞赏。

<logging>
    <target class="flex.messaging.log.ConsoleTarget" level="Error">
        <properties>
            <prefix>[BlazeDS] </prefix>
            <includeDate>true</includeDate>
            <includeTime>true</includeTime>
            <includeLevel>true</includeLevel>
            <includeCategory>true</includeCategory>
        </properties>
        <filters>
            <pattern>Endpoint.*</pattern>
            <pattern>Service.*</pattern>
            <pattern>Configuration</pattern>
        </filters>
    </target>
</logging>

有没有办法可以指定要写入的日志文件的位置?

1 个答案:

答案 0 :(得分:2)

取自您提供的链接:

  

设置记录目标

     

默认情况下,服务器将日志消息写入System.out。在课堂里   target元素的属性,可以指定   flex.messaging.log.ConsoleTarget(默认)将消息记录到   标准输出,或要记录的flex.messaging.log.ServletLogTarget   消息到您的servlet的默认日志记录机制   应用程序服务器。

因此,您必须在应用程序服务器中配置日志记录(对于Tomcat:http://tomcat.apache.org/tomcat-7.0-doc/logging.html)或在servlet中使用类似log4j的内容。

services-config.xml 应该是这样的:

<target class="flex.messaging.log.ServletLogTarget" level="warn">
        <properties>
            <prefix>[BlazeDS] </prefix>
            <includeDate>true</includeDate>
            <includeTime>true</includeTime>
            <includeLevel>true</includeLevel>
            <includeCategory>true</includeCategory>
        </properties>
        <filters>
            <pattern>Endpoint.*</pattern>
            <pattern>Service.*</pattern>
            <pattern>Message.*</pattern>
            <pattern>DataService.*</pattern>
            <pattern>Configuration</pattern>
        </filters>
    </target>
</logging>

旁注:我们使用log4j和spring-flex,它提供org.springframework.flex.core.CommonsLoggingTarget来处理BlazeDS输出。

<强>服务-config.xml中

<logging>
    <target class="org.springframework.flex.core.CommonsLoggingTarget" level="debug">
        <properties>
            <categoryPrefix>blazeds</categoryPrefix>
        </properties>
    </target>
</logging>

<强> log4j.properties

log4j.appender.myAppLog=org.apache.log4j.RollingFileAppender
log4j.appender.myAppLog.File=${catalina.base}/logs/myAppLog.txt

log4j.appender.myBlazeLog=org.apache.log4j.RollingFileAppender
log4j.appender.myBlazeLog.File=${catalina.base}/logs/myBlazeLog.txt

log4j.rootLogger=DEBUG,myAppLog
log4j.logger.blazeds=ALL,myBlazeLog