我开发了一个Java应用,部署到云环境上之后,用postman测试发现不能按照我期望的工作,但是返回的消息对我没有任何帮助。

因为部署在云端的应用很难像本地Java应用一样调试,所以我打算用SLF4J在Java代码里添加一些日志,然后查看该Java应用在云端执行产生的日志来排查问题。

SLF4J的全称是Simple Logging Facade for Java, 即简单日志门面,这里的Facade实际上是面向对象的设计模式中的外观模式(Facade pattern)。SLF4J不是具体的日志解决方案,它本身不包含日志记录的具体实现,而是只提供一个外观给各种各样的日志系统,这样就给具体应用提供了很大的灵活度,使得最终用户在部署其应用时可以灵活选用其所希望的日志系统。

SLF4J的使用非常简单,在您的应用代码里将SLF4J的Logger和LoggerFactory导入:

import org.slf4j.Logger;import org.slf4j.LoggerFactory;

然后在引用代码里用LoggerFactory获得logger实例:

static private Logger logger = LoggerFactory.getLogger(XCDService.class);

然后用logger.info进行日志记录。

将加了SLF4J日志记录的代码重新上传到云平台上。我用的是SAP云平台。

登录SAP云平台的控制台,点击Logging标签页:

点Configure Loggers:

因为我的应用代码放在com.sap.service包下面,所以我根据这个包名进行过滤:

将这两个Logger对应的Log Level日志级别设置成INFO:

再次用postman请求部署在SAP云平台上的服务,然后去云平台控制台上查看生成的日志文件:

点击查看按钮即可看到日志的具体内容,一下子就定位出问题的原因了。我在服务器端的HTTP响应头字段Content-type设置的值为application/json,但是返回的JSON字符串不符合JSON格式规范。把这个bug改掉之后错误就解决了。

要获取更多Jerry的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:

在云环境上使用SLF4J对Java程序进行日志记录相关推荐

  1. 有哪些ABAP关键字和语法,到了ABAP云环境上就没办法用了?

    Jerry在之前的文章多次提过,SAP Cloud Platform ABAP编程环境上的ABAP语法,只是广大SAP顾问们在On-Premises环境上使用的ABAP的一个子集.换句话说,On-Pr ...

  2. SpringBoot使用Slf4j+Log4j2完成项目的日志记录

    SpringBoot使用Slf4j+Log4j完成项目的日志记录 前言 本示例采用SpringBoot项目使用SpringAOP记录日志,Slf4j作为日志门面,Log4j2作为日志实现实,实现开发中 ...

  3. 2.在某应用软件中需要记录业务方法的调用日志,在不修改现有业务类的基础上为每一个类提供一个日志记录代理类,在代理类中输出日志,例如在业务方法 method() 调用之前输出“方法 method() 被

    2.在某应用软件中需要记录业务方法的调用日志,在不修改现有业务类的基础上为每一个类提供一个日志记录代理类,在代理类中输出日志,例如在业务方法 method() 调用之前输出"方法 metho ...

  4. 在SAP云平台ABAP编程环境上编写第一段ABAP程序

    距2017年秋季的SAP TechEd大会上一位大佬Björn Goerke,SAP's Chief Technology Officer宣布了SAP Cloud Platform即将支持ABAP至今 ...

  5. 如何将C 项目部署到云服务器上,如何将C 应用程序放在云服务器上

    如何将C 应用程序放在云服务器上 内容精选 换一换 ServiceStage是一个应用托管和微服务管理平台,可以帮助企业简化部署.监控.运维和治理等应用生命周期管理工作.面向企业提供微服务.移动和We ...

  6. A002、java环境搭建_第一个java程序

    目录 1.内容介绍 2.软件开发概述 2.1 软件开发概念 2.2 软件开发示例 2.3 软件开发语言 2.3.1 计算机语言概述 2.3.2 计算机语言分类 2.4 小结 3.Java概述 3.1 ...

  7. java开发环境的建立过程_Java开发环境的搭建及第一个Java程序的创建

    Java的几个基本概念: JVM:Java Virtul Machine(Java虚拟机) JRE:Java Runtime Environment(Java运行时环境) JDK:Java Devel ...

  8. slf4j+log4j在Java中实现日志记录

    小Alan今天来跟大家聊聊开发中既简单又常用但必不可少的一样东西,那是什么呢?那就是日志记录,日志输出,日志保存. 后面就统一用日志记录四个字来形容啦. 日志记录是项目的开发中必不可少的一个环节,特别 ...

  9. java环境陪孩子_Java启蒙之路-Java开发环境搭建与第一个Java程序

    Java开发环境搭建 "工欲善其事,必先利其器",从前面的章节我们了解到,Java程序的运行过程首先编写Java程序,然后再对Java源文件编译,借助JVM运行程序.现在问题来了, ...

最新文章

  1. Mybatis 获取当前序列和下一个序列值 以及在一个方法中写多条SQL 语句
  2. AltiumDesigner 热焊盘铺铜
  3. c一:指针引用(int * p )和指针(int * q)的区别
  4. 【mysq 5.7.31】远程访问权限(允许远程连接)
  5. 高颜值的故宫介绍html源码
  6. Centos/Linux下如何查看网关地址/Gateway地址
  7. 人穷的时候,最看不起自己的是谁?
  8. PHP项目:如何用PHP高并发检索数据库?
  9. Cs Tip19: 高亮Blog Owner的评论
  10. java—mediator中介模式
  11. 移动APP开发框架总结
  12. 逆向破解flash视频url
  13. html如何转换为opml,使用并解析 OPML 格式的订阅列表来转移自己的 RSS 订阅(解析篇)...
  14. 活在当下,谋在未来,国内外新能源汽车城市物流配送运营模式创新
  15. go服务器验证苹果账号登录
  16. MySQL中的极限值
  17. EXCEL中如何将日期格式转换为文本格式
  18. 金堂五月花计算机学校招聘,2019年成都市金堂五月花学校招生简介
  19. 2022K班结对编程任务
  20. led HAL简单案例分析

热门文章

  1. 文献学习(part33)--Clustering by fast search and find of density peaks
  2. R语言观察日志(part16)--Google‘s R Style Guide
  3. python基础(part7)--容器类型之列表
  4. SAP 电商云 Spartacus UI 模块延迟加载的入口程序
  5. 如何理解 new (...args: any[]) => any
  6. 如何在Github网页端处理不同分支之间的冲突
  7. 以非生产模式的方式启用SAP Spartacus的服务器端渲染SSR
  8. ABAP和Java的tag(marker) interface
  9. Scala学习笔记:how to convert a StringRDD to Array
  10. 如何在SAP Cloud for Customer的Silverlight UI中找到后台错误的明细