`
JerryWang_SAP
  • 浏览: 1030595 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

在云环境上使用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的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:

 

 
 
0
0
分享到:
评论

相关推荐

    slf4j完整日志文件

    - **API层**:SLF4J提供了简单的API,供开发者在应用程序中使用,如`Logger logger = LoggerFactory.getLogger(MyClass.class);`,`logger.info("Hello, World!");`。 - **绑定层**:SLF4J API本身不实现日志记录,...

    非web工程使用slf4j输出日志

    下面将详细介绍如何在非Web工程中使用SLF4J进行日志记录。 1. **添加依赖**: 在使用SLF4J之前,首先需要在项目的类路径中包含SLF4J的API jar包以及一个具体的日志实现库,例如Logback或Log4j。在Maven项目中,...

    Java Slf4j依赖包

    这个特性使得Slf4j在Java开发中广泛应用,为日志记录提供了极大的灵活性。 在这个压缩包中,包含了以下三个关键的Slf4j相关jar文件: 1. `slf4j-api-1.6.6.jar`:这是Slf4j的核心API库,包含了用于日志记录的基本...

    slf4j与其它日志api的结合

    描述中的"slf4j_and_slf4j_simple.png"可能展示了如何使用SLF4J最基础的功能,而"slf4j_and_slf4j_jdk.png"可能涉及了如何将SLF4J与Java内置日志系统集成。"slf4j_and_slf4j-log4j.png"则可能演示了如何配置SLF4J与...

    log4j + slf4j-api + slf4j-log4j12

    SLF4J API的使用则是在代码中引入相应的依赖,并通过SLF4J的LoggerFactory获取Logger对象进行日志记录。 总的来说,`log4j`、`SLF4J`和`slf4j-log4j12`的结合,为Java应用程序提供了一种高效、可扩展且灵活的日志...

    slf4j输入日志到mongodb

    SLF4J(Simple Logging Facade for Java)是Java中一个用于日志记录的抽象层,它提供了一种标准的日志记录接口,使得开发者可以选择不同的日志实现框架,如Log4j、Logback等。MongoDB则是一个流行的NoSQL数据库系统...

    slf4j jar包

    这个jar包是SLF4J的核心组件,用于在应用程序中引入日志功能。 **SLF4J的基本概念:** 1. **API接口**:SLF4J提供了统一的日志API,定义了各种日志级别(TRACE, DEBUG, INFO, WARN, ERROR, OFF)以及相关的方法,如...

    slf4j-api-1.7.25

    SLF4J(Simple Logging Facade for Java)是Java日志记录领域的一个重要库,它为各种日志框架,如Logback、Log4j、Java内置的日志API(java.util.logging)等,提供了一个简单统一的接口。这个接口使得开发者在开发...

    slf4j-2017.jar

    总的来说,这个压缩包提供了SLF4J的基础和Log4j的绑定,适用于需要使用SLF4J进行日志记录,并希望日志通过Log4j输出的Java项目。尽管版本可能不是最新的,但在很多情况下,旧版本的稳定性和兼容性是优先考虑的因素。...

    日志 log4j-slf4j+logback1.3.0

    总的来说,"log4j-slf4j+logback1.3.0"的组合提供了一个强大、灵活的日志解决方案,允许开发者使用统一的API进行日志记录,同时利用Logback的高性能和丰富特性。通过正确配置这些组件,开发者可以轻松管理和优化Java...

    slf4j-1.7.12

    SLF4J 1.7.12版本是该库的一个稳定版本,包含了各种必需的JAR包和整合资料,以帮助开发者在他们的应用程序中实现灵活的日志记录。 SLF4J的主要优点在于它的可插拔性。通过使用SLF4J,开发者可以在不修改代码的情况...

    slf4j所需要的所有jar文件集合

    1. **slf4j.api-1.6.1.jar**:这是SLF4J的核心API库,包含了所有SLF4J的接口和注解,使得开发者可以在代码中使用SLF4J的API进行日志记录。例如,`org.slf4j.Logger`和`org.slf4j.LoggerFactory`是SLF4J中最常用的类...

    Slf4j日志相关jar包

    Slf4j作为一个抽象层,为Java应用程序提供了一种统一的日志记录接口,而Log4j则是一个具体且功能丰富的日志框架。通过Slf4j,我们可以轻松地在不同的日志实现之间切换,而不需要修改代码。在实际项目中,结合使用Slf...

    slf4j-log4j12-1.7.12.jar、slf4j-api-1.7.12.jar

    这样,项目中的代码可以使用SLF4J的API进行日志记录,而实际的日志输出则通过log4j框架完成。 SLF4J的使用有以下几个关键点: 1. **接口定义**:SLF4J提供了一系列的Logger接口,如LoggerFactory,用于创建日志对象...

    log4j-2.11.2的jar包和日志门面slf4j的jar包

    这意味着你可以使用SLF4J的接口,但日志实际上会通过Log4j 2进行处理。这个绑定使得在项目中同时使用SLF4J的抽象和Log4j 2的特性成为可能。 使用这两个库时,通常需要一个配置文件(如`log4j2.xml`或`log4j2.json`...

    android slf4j log4j日志框架

    SLF4J(Simple Logging Facade for Java)和Log4j是两个广泛使用的日志框架,它们在Java生态系统中占据着重要地位,包括Android开发。 SLF4J是一个接口层,它提供了一组通用的日志API,允许开发者选择任何兼容的...

    log4j+slf4j实现 log4j测试代码,log4j+slf4j实现 log4j测试代码

    总结,SLF4J和Log4j的组合使用让日志管理更加灵活,开发者可以通过SLF4J的简洁API进行日志记录,同时利用Log4j的强大功能,如自定义输出格式和多种输出目的地。通过适当的配置和测试,我们可以确保日志系统按照预期...

    slf4j-1.5.8学JAVA的朋友这个对你有用的,

    SLF4J(Simple Logging Facade for Java)是Java日志记录的一个接口层,它为各种日志框架,如Log4j、Logback等提供了一个简单的抽象层,使得最终用户能够在部署时插入所需的日志实现。SLF4J 1.5.8是该库的一个特定...

    slf4j-api-1.7.7,slf4j-log4j12-1.7.7

    SLF4J(Simple Logging Facade for Java)是Java中一个重要的日志接口框架,它为各种日志实现提供了一个抽象层,使得开发者能够在运行时动态地选择具体使用的日志实现,例如Log4j、Java Util Logging (JUL)、Logback...

Global site tag (gtag.js) - Google Analytics