我正在使用以下配置的slf4j
<appender name="FILE" class="ch.qos.logback.core.FileAppender"> <file>${CATALINA_HOME}/logs/GO.log</file> <encoder> <pattern>%date %-5level [%thread] - [%logger] - %msg%n</pattern> </encoder> </appender> <root level="DEBUG"> <appender-ref ref="stdout"/> <appender-ref ref="FILE"/> </root>
如果我使用startup.bat启动tomcat,则可以看到GO.log和catalina。{date} .log生成。如果我从Eclipse启动tomcat,那就没有运气了。我尝试在环境中定义CATALINA_HOME。变量无济于事。
我得到这个错误
14:26:54,179 |-ERROR in ch.qos.logback.core.FileAppender[FILE] - openFile(CATALINA_HOME_IS_UNDEFINED/logs/GO.log,true) call failed. java.io.FileNotFoundException: CATALINA_HOME_IS_UNDEFINED\logs\GLOBE_ONE.log (The system cannot find the path specified) at java.io.FileNotFoundException: CATALINA_HOME_IS_UNDEFINED\logs\GO.log (The system cannot find the path specified) at at java.io.FileOutputStream.open(Native Method) at at java.io.FileOutputStream.<init>(FileOutputStream.java:206)
如何以“正确”的方式通过Eclipse启动Tomcat,这将允许我登录到GO.log文件?
尽管指定了envar var CATALINA_HOME,并且给了eclipse这些args,但Dcatalina.base="C:\apache- tomcat-7.0.47" -Dcatalina.home="C:\apache-tomcat-7.0.47" -Dwtp.deploy="C:\apache-tomcat-7.0.47\webapps" -Djava.endorsed.dirs="C:\apache-tomcat-7.0.47\endorsed" Eclipse仍然找不到日志目录。
Dcatalina.base="C:\apache- tomcat-7.0.47" -Dcatalina.home="C:\apache-tomcat-7.0.47" -Dwtp.deploy="C:\apache-tomcat-7.0.47\webapps" -Djava.endorsed.dirs="C:\apache-tomcat-7.0.47\endorsed"
因此,我在服务器配置的环境选项卡下创建了CATALINA_HOME变量。我给该变量赋了一个值C:\ apache-tomcat-7.0.47,然后就成功了。
希望它对其他人有帮助。