2011-12-08 86 views
1

当我在本地主机上调试我的GAE应用程序时,如何将记录器类创建的日志保存到文件?我可以在控制台(stderr)中看到它,但不想将控制台重定向到文件。我发现了一些python的解决方案,但不能使它适用于java。请你能帮助我吗?GAE登录本地主机到文件

回答

0

在log.xml设置文件添加ApplicationAppender:

<appender name="applicationAppender" class="org.apache.log4j.DailyRollingFileAppender"> 
    <param name="encoding" value="UTF-8"/> 
    <param name="file" value="C:/logs/yourlogname.log"/> 
    <param name="DatePattern" value="'.'yyyy-MM-dd" /> 
    <layout class="org.apache.log4j.PatternLayout"> 
     <param name="ConversionPattern" value="%d{HH:mm:ss} %-5p %l - %m%n" /> 
    </layout> 
</appender> 

这是log4j的,但它是一个标准的日志记录模式。你也需要让你的记录器定义使用你创建的appender。

+0

这可能不会在App Engine上工作,因为它可以防止你的写作到本地文件系统。 –

+0

即使它是本地开发服务器?我明白你的意思,但它似乎是开发服务器端的一个愚蠢的约束。 –

+0

dev_appserver尽可能地模拟生产环境,包括禁止写入文件。 –

0

在Linux和OSX,可以使用tee直接输出到文件,同时还使其可见标准输出:

my_command | tee filename 
相关问题