【Azure 应用服务】App Service For Linux 部署Java Spring Boot应用后,查看日志文件时的疑惑
编写Java Spring Boot应用,通过配置logging.path路径把日志输出在指定的文件夹中。
第一步:通过VS Code创建一个空的Spring Boot项目

第二步:在application.properties中添加输入日志的级别和指定路径
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中添加以下内容即可解决。
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.1</version>
</dependency>
第五步:通过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 的版本不匹配问题,如在示例中使用的为
<lombok.version>1.14.8</lombok.version>
需要修改为:
<lombok.version>1.18.22</lombok.version>
但是当以上代码发布到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 应用: https://docs.azure.cn/zh-cn/app-service/quickstart-java?tabs=javase&pivots=platform-linux
【Azure 应用服务】App Service For Linux 部署Java Spring Boot应用后,查看日志文件时的疑惑的更多相关文章
- 【Azure 应用服务】App Service For Linux 部署PHP Laravel 项目,如何修改首页路径为 wwwroot\public\index.php
问题描述 参考官方文档部署 PHP Laravel 项目到App Service for Linux环境中,但是访问应用时候遇见了500 Server Error 错误. 从部署的日志中,可以明确看出 ...
- 【Azure 应用服务】App Service中,为Java应用配置自定义错误页面,禁用DELETE, PUT方法
问题定义 使用Azure应用服务(App Service),部署Java应用,使用Tomcat容器,如何自定义错误页面呢?同时禁用DELETE, PUT方法 解决办法 如何自定义错误页面呢?需要在 J ...
- 【应用服务 App Service】快速获取DUMP文件(App Service for Windows(.NET/.NET Core))
问题情形 当应用在Azure 应用服务App Service中运行时,有时候出现CPU,Memory很高,但是没有明显的5XX错误和异常日志,有时就是有异常但是也不能明确的指出具体的代码错误.当面临这 ...
- 【Azure 应用服务】部署Jar到App Service for Linux,因启动命令路径配置错误而引起:( Application Error 问题
问题描述 App Service for Linux 资源创建完成后,通过FTP方式把 .jar包(logdemo.jar)包上传到 /site/wwwroot/ 文件夹后,在App Service的 ...
- 【Azure 应用服务】PHP应用部署在App Service for Linux环境中,上传文件大于1MB时,遇见了413 Request Entity Too Large 错误的解决方法
问题描述 在PHP项目部署在App Service后,上传文件如果大于1MB就会遇见 413 Request Entity Too Large 的问题. 问题解决 目前这个问题,首先需要分析应用所在的 ...
- 【Azure 应用服务】Azure App Service For Linux 上实现 Python Flask Web Socket 项目 Http/Https
问题描述 在上篇博文"[Azure 应用服务]App Service for Linux 中实现 WebSocket 功能 (Python SocketIO)"中,实现了通过 HT ...
- 【Azure 应用服务】App Service For Linux 如何在 Web 应用实例上住抓取网络日志
问题描述 在App Service For Windows的环境中,我们可以通过ArmClient 工具发送POST请求在Web应用的实例中抓取网络日志,但是在App Service For Linu ...
- 【Azure 应用服务】App Service for Linux 中实现 WebSocket 功能 (Python SocketIO)
问题描述 使用 python websockets 模块作为Socket的服务端,发布到App Service for Linux环境后,发现Docker Container无法启动.错误消息为: 2 ...
- 【Azure 应用服务】Python flask 应用部署在Aure App Service 遇见的 3 个问题
在App Service(Windows)中部署Flask应用时的注意事项: ● 添加Python扩展插件,Python 3.6.4 x64: ●● 配置 FastCGI 处理程序,添加Web.con ...
随机推荐
- vs2015使用tcmalloc(windows)
编译lib库 1.https://github.com/gperftools/gperftools 去tag中下载了2.4版本(最新的2.9.1版本 用了c++17的新特性折叠表达式,vs2015不 ...
- [第二篇]——Docker 架构之Spring Cloud直播商城 b2b2c电子商务技术总结
Docker 架构 Docker 包括三个基本概念: 镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统.比如官方镜像 ubuntu:16.04 就包含了完整的一 ...
- MSSQL2008 无法分配空间,因为PRIMARY文件组已满
1.收缩数据库日志 https://jingyan.baidu.com/article/1709ad808a279f4635c4f060.html 完整代码: --查看数据库的存放位置-- selec ...
- 双非Java的学习之旅以及秋招路程
个人信息: 趁着中秋写个帖子记录一下吧.渣渣本,无实习,无高质量证书,走了很多弯路,最后选择的Java后端.现在算是半躺平了,接了几个中小厂的offer保底,20w多的薪资,后面还有几家公司接着面.不 ...
- Git(2) - git安装、本地仓库与远程仓库使用详细指南
git版本控制工具 下载地址:https://www.git-scm.com/download/win选择对应版本的工具,下载后是一个exe执行文件: 常用git命令 命令 作用 git init(在 ...
- 安装配置环境 CUDA以及CUDNN tensorflow pytorch pip安装 虚拟环境
1. 在win10中利用Anaconda直接安装tensorflow-gpu 不需要另行安装cuda cudnn 但是不知道电脑会自动适配所需的版本吗,不过把电脑显卡驱动更新一下,就都也可以了吧. ...
- localStorage util
// localStorage util var db ={ set : function(key, obj){ localStorage.setItem(key, JSON.stringify(ob ...
- 常用的jquery 中一些js
目录: 1.验证用户登录信息 2. 获取下拉框所选中的元素 3. 动态获取 id 和对应文本框的值 4. table 中 tr 的隐藏 5 . 更换图片 6. ajax 进行提交 7. 判断 ...
- cmake入门:01 构建一个简单的可执行程序
一.目录结构 CMakeLists.txt:cmake 工程入口文件,包含当前目录下的工程组织信息.cmake 指令根据此文件生成相应的 MakeFile 文件. Hello.c: 源代码文件 bui ...
- jmeter设置为中文
我的jmeter安装路径是在D:\Jmeter\apache-jmeter-5.1.1\bin. 设置中文有2种方法: 1.第一种方法:点击jmeter.bat进入jmeter界面,点击[option ...