加入收藏 | 设为首页 | 会员中心 | 我要投稿 威海站长网 (https://www.0631zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 移动互联 > 应用 > 正文

应用程序日志 【Azure Spring Cloud】Azure Spring Cloud服务

发布时间:2022-11-19 16:00:57 所属栏目:应用 来源:网络
导读: 问题描述
在使用Azure Spring Cloud服务时,如果要收集应用程序的日志。有控制台输出(实时流日志),也可以配置Log Analytics服务。
日志流式处理
可以通过以下命令在 Azure CLI 中使用日志

问题描述

在使用Azure Spring Cloud服务时,如果要收集应用程序的日志。有控制台输出(实时流日志),也可以配置Log Analytics服务。

日志流式处理

可以通过以下命令在 Azure CLI 中使用日志流式处理。

az spring-cloud app logs -n hellospring -s yourspringcloudname -g --lines 100 -f

Log Analytics

在Azure Spring Cloud门户页面,转到“服务 | 概述”页,然后在“监视”部分中选择“日志” 。 选择 Azure Spring Cloud 的一个示例查询上的“运行”。

但是,如果应用中需要自行把日志写入到日志文件中,那么如果应用部署到Azure Spring Cloud 上后,如何来查看并获取到应用程序自身专门用于记录日志的文件呢?

问题解答

Azure Spring Cloud 与 App Service有较大的区别。App Service可以通过Kudu工具访问应用的文件系统,就可以在Home目录下直接看见应用程序生成的日志文件并下载。

而Spring Cloud服务应用程序日志,需要通过文件挂载(Mount)的方式,把一个存储账号(Storage Account)挂载到Spring Cloud的App上。

挂载Storage Account以及在代码中配置挂载后的日志路径步骤:第一步:为Azure Spring Cloud服务添加一个Storage

第二步:为Spring Cloud App添加挂载

在Spring Cloud页面,点击“Apps”列举出所有的App。选中需要配置日志文件路径的应用。然后选择“Configuration” --> "Persistent Storage"

第三步:在Java Spring应用中重新配置日志生成路径

修改应用中的日志保存路径。如本实例中使用的 logback-spring.xml 。 修改文件输出路径为:/app/logs/test.log

重新生成Jar文件并再次发布。

第四步: 在存储账号中检查应用日志

在Azure门户中,进入Storage Account中,查看Spring Cloud App的运行日志。如下:

附录:Spring Cloud应用示例代码

POM.XML 依赖包文件

<?xml version="1.0" encoding="UTF-8"?>
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0

org.springframework.boot
spring-boot-starter-parent
2.6.11


com.example
hellospring
0.0.1-SNAPSHOT
hellospring
Demo project for Spring Boot

1.8
2021.0.3



org.springframework.boot
spring-boot-starter-actuator


org.springframework.boot
spring-boot-starter-web


org.springframework.cloud
spring-cloud-starter-config


org.springframework.cloud
spring-cloud-starter-netflix-eureka-client



org.springframework.boot
spring-boot-starter-test
test


net.logstash.logback
logstash-logback-encoder
6.5





org.springframework.cloud
spring-cloud-dependencies
${spring-cloud.version}
pom
import







org.springframework.boot
spring-boot-maven-plugin




application.properties 配置文件

spring.cloud.config.enabled=false

logback-spring.xml配置文件






timestamp
UTC


logger


level


thread


mdc





stackTrace


200
14000
true




exceptionClass





/app/logs/test.log
true



timestamp
UTC


logger


level


thread


mdc





stackTrace


200
14000
true




exceptionClass








HelloController.java 代码

package com.example.hellospring;

import org.springframework.web.bind.annotation.RestController;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.RequestMapping;

@RestController
public class HelloController {

org.slf4j.Logger logger = LoggerFactory.getLogger(getClass());

@RequestMapping("/")
public String index() {

logger.info("Loging into Storage Folder.... request from index page.... test by lb @09-02");

return "Greetings from Azure Spring Cloud!";
}

}

HellospringApplication.java 代码

package com.example.hellospring;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class HellospringApplication {

public static void main(String[] args) {
SpringApplication.run(HellospringApplication.class, args);
}

}

参考资料

快速入门:在 Azure Spring Cloud 中部署你的第一个应用程序:??

日志:????

当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!

(编辑:威海站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!