`
JerryWang_SAP
  • 浏览: 963477 次
  • 性别: 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 1.6.4

    从某种程度上,SLF4J有点类似JDBC,不过比JDBC更简单,在JDBC中,你需要指定驱动程序,而在使用SLF4J的时候,不需要在代码中或配置文件中指定你打算使用那个具体的日志系统。如同使用JDBC基本不用考虑具体数据库一样...

    slf4j-Logging

    更直观一点,slf4j是个数据线,一端嵌入程序,另一端链接日志系统,从而实现将程序中的信息导入到日志系统并记录。 因此,slf4j入口就是众多接口的集合,他不负责具体的日志实现,只在编译时负责寻找合适的日志...

    浅谈Java日志框架slf4j作用及其实现原理

    日志记录是应用程序运行中必不可少的一部分。这篇文章主要介绍了浅谈Java日志框架slf4j作用及其实现原理,SLF4J是一个日志框架抽象层,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    log4j-to-slf4j:从 Log4j 迁移到 SLF4J 的实用程序。 它还将 Log4j 日志消息转换为 SLF4J 日志消息

    这是一个简单的实用程序,可用于将 Log4j 格式的日志语句转换为 SLF4J 格式的日志语句。 示例输入是: logger.info("Hello " + who); 将转换为: logger.info("Hello {}", who); 先决条件 您应该安装了 Python ...

    maple:类型安全,名称和格式一致的结构化日志记录包装程序,适用于SLF4J,非常适合您的日志记录聚合器

    枫类型安全,名称和格式一致的SLF4J结构化日志记录包装器,非常适合您的日志记录聚合器。 log . info(schema - > schema . id(userId) . code( CODE_USER ) . qty(totalQty));快速开始定义日志记录模式接口包装 ...

    slf4j-plus:高级 SLF4J 记录器添加了一些不错的功能和 Eclipse RCP 集成

    高级 SLF4J 记录器添加了一些不错的功能和 Eclipse RCP 集成。 日志事务允许在起点和终点之间对从线程或其子线程发出的日志消息进行分组 内部事务创建子事务或任意消息组 在 Eclipse 错误日志视图中显示日志消息 -...

    sample-slf4j-fluentd

    样品-slf4j-fluentd 这是一个使用 FluentLogger 作为 slf4j 记录器实现的示例 Web 应用程序。 它是在 Java EE REST API 应用程序上使用 fluentd 发送日志数据的演示。 您可以在不更改应用程序代码的情况下将日志目的...

    usn-eclipselink-slf4j:用于通过 SLF4J 记录消息的 EclipseLink SessionLog 实现

    可以使用通过 SLF4J 从 EclipseLink 安排日志记录,但已知此解决方案的 CPU 成本很高(请参阅桥描述)。 该项目允许通过 SLF4J 从 EclipseLink 直接记录日志,并采取必要的性能预防措施,并在 EclipseLink 之后 。...

    Chronicle-Logger:亚微秒级Java记录器,支持Slf和Log4J等标准记录API

    编年史记录器支持大多数标准记录API,包括: SLF4J 退回Apache log4j 1.2 Apache log4j 2 Java Util记录Apache通用日志记录Chronicle Logger能够将您的所有日志聚合到中央存储。 它具有内置的弹性,因此您将永远...

    log4j使用实战

    log4j推荐和slf4j一起用,关于log4j和slf4j, 参考:https://blog.csdn.net/haoranhaoshi/article/details/89929470上半部分。 log4j.appender.File.File=${user.dir}/logs/hmiservice.log ${user.dir}可以得到当前...

    JAVA上百实例源码以及开源项目

    (2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户可以在终端上直接地使用它,但是它的主要作用是供程序使用的。本规范尝试满足...

    springboot 日志配置文件 logback

    logback-classic:它是log4j的一个改良版本,同时它完整实现了slf4j API使你可以很方便地更换成其它日志系统如log4j或JDK14 Logging。 logback-access:访问模块与Servlet容器集成提供通过Http来访问日志的功能。 ...

    JAVA上百实例源码以及开源项目源代码

    (2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户可以在终端上直接地使用它,但是它的主要作用是供程序使用的。本规范尝试满足...

    services-logging:面向懒惰Java开发人员的ES上的日志记录框架

    一般概念日志应该存在并且对开发人员是透明的...用户信息安装指南(进行中) 包括Jars Jars提供了登录时的扩展,并使用slf4j进行日志记录。 be.vrt.services.logging日志收集器$ {be.vrt.services.logging-version} be

    java开源包4

    在浏览器上运行Java程序 Doppio DoppioVM 是一个可在浏览器上直接运行 Java 项目的系统,无需任何插件支持。目前它包含一个完整的虚拟机以及一个 javap 字节码反汇编器。 brap(Java远程调用框架 BRAP) 一个Java远程...

    SLF4JLoggerExtension

    这是SLF4J扩展,提供了动态日志级别映射,从而可以在不重新部署应用程序的情况下即时更改日志级别。 此外,它提供了一个缓冲区,记录每个级别的所有日志条目,可以通过简单的规则表达式触发将其推出。 缓冲输出的...

    java开源包8

    在浏览器上运行Java程序 Doppio DoppioVM 是一个可在浏览器上直接运行 Java 项目的系统,无需任何插件支持。目前它包含一个完整的虚拟机以及一个 javap 字节码反汇编器。 brap(Java远程调用框架 BRAP) 一个Java远程...

    gcloud-logging-slf4j-logback:用于sl4j + logback的gcloud-logging json日志附加程序

    该库提供了一个基于json的简单布局,可用于将结构化日志发送到gcloud日志记录。 该附加器在中特别有用,在,应将日志发送到stdout。 Stackdriver流利的插件实现 这个产品准备好了吗? 是的。 用法 在build....

    java开源包11

    在浏览器上运行Java程序 Doppio DoppioVM 是一个可在浏览器上直接运行 Java 项目的系统,无需任何插件支持。目前它包含一个完整的虚拟机以及一个 javap 字节码反汇编器。 brap(Java远程调用框架 BRAP) 一个Java远程...

    java开源包6

    在浏览器上运行Java程序 Doppio DoppioVM 是一个可在浏览器上直接运行 Java 项目的系统,无需任何插件支持。目前它包含一个完整的虚拟机以及一个 javap 字节码反汇编器。 brap(Java远程调用框架 BRAP) 一个Java远程...

Global site tag (gtag.js) - Google Analytics