从Azure注销Tomcat Web应用中的位置std日志
我正在使用Azure Web应用程序,并尝试调试Tomcat容器中的Java应用程序 当我使用VisualStudio、FTP或Kudo转到“日志文件”文件夹时,我只看到以下内容从Azure注销Tomcat Web应用中的位置std日志,azure,tomcat,azure-web-app-service,Azure,Tomcat,Azure Web App Service,我正在使用Azure Web应用程序,并尝试调试Tomcat容器中的Java应用程序 当我使用VisualStudio、FTP或Kudo转到“日志文件”文件夹时,我只看到以下内容 本地主机 卡塔琳娜 主机管理器 我看不出来。我的应用程序中的许多行都使用System.out.println()(在这个阶段,我不打算用记录器来代替它们) 我怎样才能看出来? 我尝试在应用程序服务日志中添加尽可能多的日志,但这没有帮助 我在Azure portal上用Java和Tomcat配置了我的WebApp,如下
System.out.println()
(在这个阶段,我不打算用记录器来代替它们)
我怎样才能看出来?
我尝试在应用程序服务日志中添加尽可能多的日志,但这没有帮助
我在Azure portal上用Java和Tomcat配置了我的WebApp,如下图所示 因此,您可以在Kudu控制台
D:\Program Files(x86)\apache-Tomcat-9.0.14\conf
的路径中找到Tomcat 9.0.14的logging.properties
文件,如下图所示
您可以看到,它使用了Tomcat的默认日志记录,因此,System.out.println
的这些控制台输出将不会写入D:\home\LogFiles\Application
的这些日志记录文件中
但是,我尝试在D:\home\site\wwwroot\webapps\ROOT\
的index.jsp
中编写一些代码,如下所示
<%@ page import="java.util.logging.*" %>
<%
Logger logger = Logger.getLogger("Hello");
out.println("Hello, world from webapps/ROOT/index.jsp on Tomcat on cloud.<br>");
System.out.println("System.out >> Hello, world from webapps/ROOT/index.jsp on Tomcat on cloud.");
logger.warning("Logger Level Warning >> Hello, world from webapps/ROOT/index.jsp on Tomcat on cloud. ");
logger.info("Logger Level Info >> Hello, world from webapps/ROOT/index.jsp on Tomcat on cloud. ");
logger.fine("Logger Level Fine >> Hello, world from webapps/ROOT/index.jsp on Tomcat on cloud. ");
%>
然后,我可以看到只有日志级别warning
和info
的日志被写入D:\home\LogFiles\Application\catalina.xxxxxxxxxxxxxxxxxxxx.2019-08-19.log
,如下图所示,因为日志级别优先级是severy>warning>info>CONFIG>FINE>FINE>FINER>FINE
由于Azure WebApp的可用性,除了D:\home
,您不能在其他路径中执行写入操作
因此,如果要将一些日志写入文件,请使用java.util.logging.Logger
而不是System.out
,或者使用其他日志框架,如log4j
或slf4j
希望能有帮助