接口服务中的日志

先来看下日志对于一个接口服务的作用:

  • 监控服务的状态,一般程序中会增加一些跟踪或者提示性的日志,用来判断服务执行的详细情况,特别是执行一些复合功能的接口或者叫聚合接口非常有利于我们判断接口的执行情况
  • 安全,用来分析调用者的身份信息,防止接口被非法恶意调用等
  • 性能,可以统计每个接口的访问执行时间来分析系统的瓶颈
  • 异常分析,对于线上的异常,在没有debug的环境下,要想分析问题原因最有价值的就要算异常的堆栈信息

上面的这几点需求,如果接口服务使用的是一些高级产品比如dubbo,其实它已经实现了大部分功能,不需要人为的去全部处理功能。

  • 安全,可利用访问日志的功能来实现,访问日志中详细的记录了客户端调用的时间,身份,调用时的详细参数。
[DUBBO] [2016-08-27 14:47:06] 10.10.50.20:64948 -> 10.10.50.20:20960
 - ProductFacadeService getDataDictionaryByType(DataDictionaryParamInfo)
 [{"code":0,"type":1}], dubbo version: 2.8.1, current host: 10.10.50.20

上面的日志我们可以看到如下有用的信息:

1:调用方IP以及端口信息:10.10.50.20:64948

2:

时间: 2024-08-02 21:07:53

接口服务中的日志的相关文章

阿里云-日志服务-Log4j写入日志

---------Maven依赖--------- <dependency> <groupId>com.aliyun.openservices</groupId> <artifactId>aliyun-log</artifactId> <version>0.6.6</version> </dependency> <dependency> <groupId>com.aliyun.opens

使用Spring Boot日志框架在已有的微服务代码中添加日志功能

引言:我们需要在已有的微服务代码中添加日志功能,用于输出需要关注的内容,这是最平常的技术需求了.由于我们的微服务代码是基于SpringBoot开发的,那么问题就转换为如何在Spring Boot应用程序中输出相应的日志. 在传统Java应用程序中,我们一般会使用类似Log4j这样的日志框架来输出日志,而不是直接在代码中通过System.out.println()来输出日志.为什么要这么做呢?原因有两点.其一,我们希望日志能输出到文件中,而不是输出到应用程序的控制台中,这样更加容易收集和分析.其二

容器服务中如何收集日志到阿里云日志服务

容器服务中目前提供了日志集成的功能,使用该功能,可以把容器中的日志(文件方式或标准输出方式)自动收集到阿里云的日志服务中.具体使用方式如下: 开启日志服务 确认已开通访问控制服务和阿里云日志服务(该步是为了确保容器服务有权限去完成在阿里云日志服务中创建project等操作) 点击确定,日志服务就开通成功了,可以登录到日志服务的控制台(https://sls.console.aliyun.com/#/) 查看有一个project自动帮你创建完成了,名称是acslog-project-集群id 接下

冒号和他的学生们(连载27)——接口服务

27.接口服务 律己宜严,待人宜宽 --<洪应明·菜根谭> 叹号幡然反省:"以前我们做OOP编程时,总是专注于如何利用其他类来解决问题,而较少考虑自己设计的类对其他类的影响." 引号翻开以前的笔记:"前面提过,OOP的世界是民主制的,所有对象都是独立而平等的公民,有权利寻求服务,也有义务提供服务.看来我们是光惦着权利而忘了义务了." 冒号继而提出:"作为服务的提供者,最重要的是讲诚信.首先,服务要有可靠性,不能阳奉阴违--即接口必须履行它的承诺

当Docker遇到数据库:在阿里云容器服务中使用RDS

Docker与持久化服务 最近一段时间以来,微服务架构和Docker成为了技术社区的"网红".其背后的原因是将微服务与Docker的结合在一起对现有的软件生命周期从架构设计.开发测试到运维迭代构成了一种"颠覆性"的力量:微服务鼓励开发者将整个软件解构为较小的功能组件:每个组件能够独立开发.运维.伸缩和容错:组件之间通过标准的服务接口进行通信,而组件可以选择最适合的技术栈来实现.而容器技术进一步拓展了这种解耦性,它能够将软件与其部署环境分离,利用容器敏捷和可移植的使得

容器服务中使用ELK

容器服务中使用ELK 日志是IT系统的重要组成部分,记录了系统在什么时候发生了什么事情.我们可以根据日志排查系统故障,也可以做统计分析.通常日志存放在本机的日志文件里,需要查看日志的时候,登录到机器上,用grep等工具过滤关键字.但是当应用要部署在多台机器上的时候,这种方式查看日志就很不方便了,为了找到一个特定的错误对应的日志,不得不登录到所有的机器上,一个文件一个文件的过滤.于是出现了集中式的日志存储方式:所有日志收集到日志服务里,在日志服务里可以查看和搜索日志. 在Docker环境里,集中式

linux中haproxy日志配置的详解

haproxy在默认情况不会记录日志,除了在haproxy.conf中的global段指定日志的输出外,还需要配置系统日志的配置文件.下面以centos6.4为例,haproxy使用系统自带的rpm报1.4版本 1.vim /etc/haproxy/haproxy.conf global  log 127.0.0.1 local3     #local3是设备,对应于 /etc/rsyslog.conf中的配置,默认回收info的日志级别  maxconn 1024  user haproxy

在阿里云容器服务中运行离线作业

目前在在线应用,尤其是无状态的在线应用领域,Docker容器已经成为执行层的事实标准,有大量云服务商提供容器云服务.但在离线计算领域,还很少有服务商提供这样的能力. 但离线计算在实际生产中使用很广,小到一个脚本任务,大到大数据分析:而且离线计算对资源隔离.环境隔离的需求更高,这正是docker容器的优势.因此,阿里云容器服务抽象出离线计算的基本模型,推出了基于Docker容器的离线计算功能.其核心功能是: 作业编排 作业调度与生命周期管理 存储与日志等功能的集成 基本概念 首先介绍一下离线计算的

【技术集锦】八个步骤实现自建云服务中的IT控制

本文讲的是[技术集锦]八个步骤实现自建云服务中的IT控制[IT168 云计算]从分布式到集中式服务的变化是 IT 技术的自然循环.网络在出现之初就只是用于部门级别的打印机共享,这种分散的组织导致了五花八门的网络和网络协议.终于,信息技术组织决定把这项工作集中起来.提高效率,我们才看到了现在被大规模采用的 TCP/IP 网络.如今,几乎所有的 IT 组织都会有一个集中式的网络团队来管理和部署基于 IP 的基础信息架构. 类似于 Salesforce 等 SaaS 应用刚出现,就被销售组织采用了.随