我已经在使用Tomcat下运行的Web应用程序。
日志记录各种特征是使用java.util.logging的实现。
当运行通过的startup.bat创建日志文件,并记录日志如预期的Tomcat。
当作为Windows服务使用相同的WAR文件运行从日志输出是几乎不存在。 有一些(几乎没有)登录stdout.log和stderr.log输出,但不是预期。
这是否听起来熟悉的人? 你采取什么样的措施来纠正呢?
问候
我已经在使用Tomcat下运行的Web应用程序。
日志记录各种特征是使用java.util.logging的实现。
当运行通过的startup.bat创建日志文件,并记录日志如预期的Tomcat。
当作为Windows服务使用相同的WAR文件运行从日志输出是几乎不存在。 有一些(几乎没有)登录stdout.log和stderr.log输出,但不是预期。
这是否听起来熟悉的人? 你采取什么样的措施来纠正呢?
问候
输出和错误日志文件应该在你的Tomcat的安装日志目录中创建。
要配置日志使用“配置Tomcat”应用程序。 您可以设置错误级别和日志文件出现的位置。
确保Tomcat的环境是在两种情况下是相同的。 检查Tomcat服务编辑器中的路径和设置。 不要使用标准的Windows属性对话框的服务,但开始tomcat.exe用//ES//name
,其中name
是服务的名称。
事实证明这是一个配置问题。
当从Tomcat的的startup.bat开始将引用logging.properties conf目录。
当作为服务启动的JDK / JRE / lib目录logging.properties进场。
当作为Windows服务运行时,所有控制台输出重定向在Tomcat日志目录stdout.log。
尝试捕获记录与定制logging.properties文件自定义文件到目前为止还没有。
当Tomcat作为服务启动,它的默认日志配置实际上将覆盖任何应用程序特定的日志配置。 亚伦建议设置配置的最好方法是使用tomcatw // // ES tomcat_service_name,如tomcat_service_name可以在Tomcat5根据您的安装首选项(也使用tomcatw,不是tomcat的 - 这两个可执行文件可以在C中找到:\ Program Files文件\ Apache软件基金会\ Tomcat的5.0 \ BIN)。 这个帖子介绍了如何确保使用正确的服务名称(如果有对话框中没有值,则该名称可能是不正确的)。
我会张贴图片,但我没有足够的代表。 在Java虚拟机选项卡,在Java选项进入配置,如-Dlog4j.configuration = service.log4j.properties
包含您的日志配置文件可以被放置在Tomcat服务器classes目录中,例如C:\ Program Files文件\ Apache软件基金会\ Tomcat的5.0 \服务器\类。
有几个地方,你可以把日志记录配置文件。 我最初尝试指定的日志记录配置文件的完整路径,但log4j的似乎只检查某些路径。 作为这一职位的状态,将-Dlog4j.debug在Java选项的第一行,并可以调试什么log4j的是做。 服务器类目录中被列为一种可能的搜索路径。
在创建log4j.properties文件,命名它比log4j.properties,如service.log4j.properties以外的东西。 命名它的Log4j.properties运行该应用程序特定的log4j.properties文件可能被发现的危险,这将覆盖你的配置,但是,这将随后由Tomcat服务随后忽略。