在云环境上使用SLF4J对Java程序进行日志记录
我开发了一个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程序进行日志记录相关推荐
- 有哪些ABAP关键字和语法,到了ABAP云环境上就没办法用了?
Jerry在之前的文章多次提过,SAP Cloud Platform ABAP编程环境上的ABAP语法,只是广大SAP顾问们在On-Premises环境上使用的ABAP的一个子集.换句话说,On-Pr ...
- SpringBoot使用Slf4j+Log4j2完成项目的日志记录
SpringBoot使用Slf4j+Log4j完成项目的日志记录 前言 本示例采用SpringBoot项目使用SpringAOP记录日志,Slf4j作为日志门面,Log4j2作为日志实现实,实现开发中 ...
- 2.在某应用软件中需要记录业务方法的调用日志,在不修改现有业务类的基础上为每一个类提供一个日志记录代理类,在代理类中输出日志,例如在业务方法 method() 调用之前输出“方法 method() 被
2.在某应用软件中需要记录业务方法的调用日志,在不修改现有业务类的基础上为每一个类提供一个日志记录代理类,在代理类中输出日志,例如在业务方法 method() 调用之前输出"方法 metho ...
- 在SAP云平台ABAP编程环境上编写第一段ABAP程序
距2017年秋季的SAP TechEd大会上一位大佬Björn Goerke,SAP's Chief Technology Officer宣布了SAP Cloud Platform即将支持ABAP至今 ...
- 如何将C 项目部署到云服务器上,如何将C 应用程序放在云服务器上
如何将C 应用程序放在云服务器上 内容精选 换一换 ServiceStage是一个应用托管和微服务管理平台,可以帮助企业简化部署.监控.运维和治理等应用生命周期管理工作.面向企业提供微服务.移动和We ...
- A002、java环境搭建_第一个java程序
目录 1.内容介绍 2.软件开发概述 2.1 软件开发概念 2.2 软件开发示例 2.3 软件开发语言 2.3.1 计算机语言概述 2.3.2 计算机语言分类 2.4 小结 3.Java概述 3.1 ...
- java开发环境的建立过程_Java开发环境的搭建及第一个Java程序的创建
Java的几个基本概念: JVM:Java Virtul Machine(Java虚拟机) JRE:Java Runtime Environment(Java运行时环境) JDK:Java Devel ...
- slf4j+log4j在Java中实现日志记录
小Alan今天来跟大家聊聊开发中既简单又常用但必不可少的一样东西,那是什么呢?那就是日志记录,日志输出,日志保存. 后面就统一用日志记录四个字来形容啦. 日志记录是项目的开发中必不可少的一个环节,特别 ...
- java环境陪孩子_Java启蒙之路-Java开发环境搭建与第一个Java程序
Java开发环境搭建 "工欲善其事,必先利其器",从前面的章节我们了解到,Java程序的运行过程首先编写Java程序,然后再对Java源文件编译,借助JVM运行程序.现在问题来了, ...
最新文章
- Mybatis 获取当前序列和下一个序列值 以及在一个方法中写多条SQL 语句
- AltiumDesigner 热焊盘铺铜
- c一:指针引用(int * p )和指针(int * q)的区别
- 【mysq 5.7.31】远程访问权限(允许远程连接)
- 高颜值的故宫介绍html源码
- Centos/Linux下如何查看网关地址/Gateway地址
- 人穷的时候,最看不起自己的是谁?
- PHP项目:如何用PHP高并发检索数据库?
- Cs Tip19: 高亮Blog Owner的评论
- java—mediator中介模式
- 移动APP开发框架总结
- 逆向破解flash视频url
- html如何转换为opml,使用并解析 OPML 格式的订阅列表来转移自己的 RSS 订阅(解析篇)...
- 活在当下,谋在未来,国内外新能源汽车城市物流配送运营模式创新
- go服务器验证苹果账号登录
- MySQL中的极限值
- EXCEL中如何将日期格式转换为文本格式
- 金堂五月花计算机学校招聘,2019年成都市金堂五月花学校招生简介
- 2022K班结对编程任务
- led HAL简单案例分析
热门文章
- 文献学习(part33)--Clustering by fast search and find of density peaks
- R语言观察日志(part16)--Google‘s R Style Guide
- python基础(part7)--容器类型之列表
- SAP 电商云 Spartacus UI 模块延迟加载的入口程序
- 如何理解 new (...args: any[]) => any
- 如何在Github网页端处理不同分支之间的冲突
- 以非生产模式的方式启用SAP Spartacus的服务器端渲染SSR
- ABAP和Java的tag(marker) interface
- Scala学习笔记:how to convert a StringRDD to Array
- 如何在SAP Cloud for Customer的Silverlight UI中找到后台错误的明细