Netweaver

要记录日志需要有一个checkpoint group,可以自行创建也可以使用标准的。这里我重用标准的group:DEMO_CHECKPOINT_GROUP。

tcode SAAB,点Display <->Activate进入编辑模式,将Logpoints设置为"Log",日期设为Today,意为当天生效。

Netweaver的日志记录大多是基于用户级别的,这一点比较方便。给想打开日志记录的用户创建一个打开日志开关的配置:

新建一个report名称为ZCONTEXT, 下面代码的含义是把当前report名称(包含在环境变量sy-cprog)和当前report的运行环境(online运行还是offline运行)写入该checkpoint group。因为可能有其他人也会使用该group,所以用SUBKEY区分不同的用户。

LOG-POINT ID demo_checkpoint_group
SUBKEY sy-uname
FIELDS sy-batch sy-cprog.


执行完report后返回SAAB即可查看到记录的日志。

双击能看到记录的明细。

CloudFoundry

总的guideline在SAP官方Github上有。

这里简述要点。

SAP云平台的CloudFoundry环境里的日志记录推荐使用slf4j(Simple Log Facade for Java)。即Java代码里使用slf4j提供的接口进行日志记录,而具体的日志记录实现可以通过配置文件来指定。

我做了一个例子,全部源代码在我的github上。
我的例子使用log4j2作为日志记录的实现。

(1) 在Java项目的pom.xml里定义slf4j和log4j2的版本号。

<properties><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target><cf-logging-version>2.1.5</cf-logging-version><log4j2.version>2.8.2</log4j2.version><slf4j.version>1.7.24</slf4j.version>
</properties>

在pom.xml文件的dependency区域维护相关的dependency:

<dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>${slf4j.version}</version>
</dependency><dependency><groupId>com.sap.hcp.cf.logging</groupId> <artifactId>cf-java-logging-support-log4j2</artifactId><version>${cf-logging-version}</version>
</dependency><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-slf4j-impl</artifactId><version>${log4j2.version}</version>
</dependency><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-core</artifactId><version>${log4j2.version}</version>
</dependency><dependency><groupId>com.sap.hcp.cf.logging</groupId><artifactId>cf-java-logging-support-servlet</artifactId><version>${cf-logging-version}</version>
</dependency>

(2) 在CLASSPATH下新建log4j2.xml, 使用如下源代码:


<Configuration status="warn" strict="true"
packages="com.sap.hcp.cf.log4j2.converter,com.sap.hcp.cf.log4j2.layout">
<Appenders>
<Console name="STDOUT-JSON" target="SYSTEM_OUT" follow="true">
<JsonPatternLayout charset="utf-8" />
</Console>
<Console name="STDOUT" target="SYSTEM_OUT" follow="true">
<PatternLayout
pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} [%mdc] - %msg%n" />
</Console>
</Appenders>
<Loggers>
<!-- Jerry: Log level: INFO -->
<Root level="${LOG_ROOT_LEVEL:-INFO}">
<AppenderRef ref="STDOUT-JSON" />
</Root>
<Logger name="com.sap.hcp.cf" level="${LOG_HCP_CF_LEVEL:-INFO}" />
</Loggers>
</Configuration>

(3) 在SAP云平台Cockpit里创建一个新的log instance:


取名为jerry-log:

(4) 代码里的使用:

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;private static final Logger LOGGER = LoggerFactory.getLogger(ConnectivityServlet.class);

然后使用LOGGER.info 记录日志。

(5) 如何查询记录的日志:
点击Logs标签页->Open Kibanna Dashboard, 能看到上图"Diablo Connecting to backend system"对应的日志:

在log明细里能看到之前在SAP云平台Cockpit里创建的Log service实例。

要获取更多Jerry的原创技术文章,请关注公众号"汪子熙"

如何在ABAP Netweaver和CloudFoundry里记录并查看日志 1相关推荐

  1. 如何在ABAP Netweaver和CloudFoundry里记录并查看日志

    Netweaver 要记录日志需要有一个checkpoint group,可以自行创建也可以使用标准的.这里我重用标准的group:DEMO_CHECKPOINT_GROUP. tcode SAAB, ...

  2. ABAP Netweaver和Hybris里获得内存使用统计数据

    ABAP Netweaver 事物码ST06 Hybris 每隔5秒钟,Hybris Administration console会发起一个到Java后台的AJAX查询请求: 这个5秒的时间间隔定义在 ...

  3. Netweaver和CloudFoundry里的trace开关

    Netweaver 事务码SU01的参数设置里,有很多关于trace(跟踪)的开关. FPTRACELEVEL: 设成04后,能将ADS生成PDF的trace信息写入生成的PDF. 详细原理参考我的b ...

  4. 如何使用Prometheus采集SAP ABAP Netweaver的应用日志数据

    Prometheus是一套开源的系统监控报警框架.它启发于Google的borgmon 监控系统,由工作在 SoundCloud 的 google 前员工在 2012 年创建,作为社区开源项目进行开发 ...

  5. SAP ABAP Netweaver服务器的标准登录方式讲解

    最近Jerry把这个公众号之前发布的总共230篇文章按照类别整理了一系列合集出来,比如所有的ABAP文章,放在了这个合集里:汪子熙的ABAP合集. 本文继续介绍ABAP里的一个知识点:ABAP Net ...

  6. 从ABAP Netweaver的SICF到SAP Kyma的Lambda Function

    ABAP Netweaver里的事务码SICF是Jerry做原型开发时非常喜欢使用的一个工具:但凡遇到需要把ABAP系统里的资源以服务的方式暴露出来的场景,Jerry都喜欢在SICF里创建一个服务节点 ...

  7. ABAP Netweaver, Hybris Commerce和SAP 云平台的登录认证

    ABAP Netweaver 在事务码SICF里选择一个服务,在明细页面对Procedure字段点击F1,查看Logon Procedure的帮助文档. 通过这个链接打开对应的帮助文档,可以看到下列七 ...

  8. ABAP Netweaver和Hybris Enterprise Commerce Platform的登录认证

    ABAP Netweaver 在我的博客Learn more detail about Standard logon procedure里有详细介绍. Hybris ECP Hybris Admini ...

  9. SAP ABAP Netweaver容器化, 不可能完成的任务吗?

    Jerry之前的文章 一个13年ABAP老兵的建议:了解这些基础知识,对ABAP开发有百利而无一害, 回顾了ABAP Netweaver服务器主要的组件.本文咱们就来聊聊ABAP Netweaver容 ...

最新文章

  1. ubuntu vsftp安装
  2. shp设置utf8格式_shp文件格式说明
  3. 报时功能_现在的智能机都没有内置整点自动报时吗?锤子坚果手机SOS有!
  4. 【译】成为优秀程序员(和人类)的101个技巧
  5. Centos 7 环境下,如何使用 Apache 实现 SSL 虚拟主机 双向认证 的详细教程:
  6. 动态(静态)加载DLL注意
  7. 分布式技术(2)大型网站架构利器-CDN技术
  8. 在Colaboratory中使用ImageAI训练自己的数据集
  9. 计算机类顶级会议排名+投稿经验
  10. 变频器的工作原理与结构介绍
  11. vue利用 canvas 在图片上加文字
  12. However的用法主要有以下两点:
  13. RecyclerView源码学习笔记(一)构造函数和setLayoutManager方法
  14. 女友忽然欲买文胸,但不知何色更美,Python解之【全程实战,议藏之】
  15. 线性回归方程b保留几位小数_实验室原始数据怎么保留最准确?(一)
  16. 关键路径法详解【CPM】
  17. 一文搞懂k近邻(k-NN)算法(一)
  18. java 类的方法设计_设计问题:Java类与单方法OK?
  19. 梦想世界2014年5月29日服务器维护公告,2021年4月30日游戏更新公告
  20. 在提示框中:双击浏览器缩放,浓咖啡小睡和Android引导屏幕

热门文章

  1. css网格_一个CSS网格可以全部统治
  2. 【赠书福利】不扶好眼镜,请别打开这本挑战JS语言特性的书
  3. 【转】CentOS 6.6 升级GCC G++ (当前最新版本为v6.1.0) (完整)
  4. 《Programming in Lua 3》读书笔记(十二)
  5. 对程序实施精准手术!阿里安全猎户座实验室首创“自动逆向机器人”
  6. Spark架构与作业执行流程简介
  7. Java设计模式之策略设计模式
  8. MySQL服务器硬件和操作系统调节
  9. 极端高温导致澳大利亚断网
  10. 2017年,这两个大数据岗位一定会火!