logging.path=mylogs logging.level.root= INFO logging.level.org.springframework.web= INFO logging.level.org.springframework.security= INFO logging.level.org.hibernate= INFO第三步:在代码中添加logging对象初始化代码,为了简单,就在main方法中添加日志
package com.example; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class App { private static final Logger logger = LoggerFactory.getLogger(App.class); public static void main(String[] args) { SpringApplication.run(App.class, args); logger.info("test java logs : info"); logger.error("test java logs : error"); logger.warn("test java logs : warn"); logger.trace("test java logs : trace" ); } }第四步:VS Code中运行并查看输出日志
(注:在Debug的前,出现了 Caused by: java.lang.ClassNotFoundException: javax.xml.bind.ValidationException 错误,原因是在缺少了 javax.xml.bind 依赖。在pom.xml中添加以下内容即可解决。
javax.xml.bind jaxb-api2.3.1
第五步:通过VS Code发布Java应用到App Service For Linux中( App Service 可以提前创建好,也可以发布时创建)
注:发布时候,打包.JAR包时候,如果出现Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:testCompile (default-testCompile) on project logdemo: Fatal error compiling: java.lang.ExceptionInInitializerError: com.sun.tools.javac.code.TypeTags错误,是由于 lombok 的版本不匹配问题,如在示例中使用的为
1.14.8
需要修改为:
1.18.22
但是当以上代码发布到App Service For Linux中后,如何查看日志呢?在程序根目录下没有发现任何日志。那么 日志去那里呢?
最后虽然没有能在LogFiles中发现Spring Boot项目中自定义的mylogs文件夹, 在多次修改日志文件路径为Linux下的 logging.file.name=/home/LogFiles/MySpringlogtest.log 依旧没有发现日志文件。
但是在App Service自动生成的 xxxx_default_docker.log 文件和在Application问价夹中的 spring日志中,发现了在代码中自定义输出的日志内容。
虽然自定义的设置没有生效,最终还是看见了需要的日志文件。就把这个疑问带在心中,在未来中寻找答案。
示例代码,可在此处下载。
参考资料快速入门:在 Azure 应用服务中创建 Java 应用: 快速入门:在 Azure 应用服务中创建 Java 应用 - Azure App Service | Azure Docs
需要资料的伙伴们扫码免费领取
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)