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. 如何在ABAP Netweaver和CloudFoundry里记录并查看日志 1

    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. 面向固态激光雷达和惯导的里程计和建图
  2. “抗击”新型肺炎!阿里达摩院研发AI算法,半小时完成疑似病例基因分析
  3. python快速入门 pdf-Python快速入门 (第3版) PDF 下载
  4. svn merger的时候 报远程主机强迫_SVN与Git比较的优缺点差异
  5. css表单发光,表单input选中后发光CSS怎么写
  6. 为Mac安装homebrew
  7. 漫步最优化十三——驻点
  8. HTML中的表格和表单控件详解
  9. Spring Cloud Stream与RabbitMQ 死信队列
  10. intellij 专业版 TomCat9
  11. WPF版的Dock控件第二版完成
  12. 信号与系统——傅里叶变换
  13. 二、17【FPGA】无源蜂鸣器驱动实验
  14. 交互设计常识:设计模型分析
  15. 使用来自文件“***.snk”的公钥对输出签名时出错
  16. Android7工程模式,安卓手机的“工程模式”是什么?
  17. java毕业生设计学籍管理系统计算机源码+系统+mysql+调试部署+lw
  18. python抓取懂球帝部分球员数据
  19. 网关 Spring Cloud Gateway 监控 actuator
  20. 技嘉b365dv3主板黑苹果efi_黑苹果--技嘉 z390 gaming X 究极方案

热门文章

  1. 文献记录(part24)--Nonlinear dictionary learning with application to image classification
  2. 文献记录(part2)--A Dykstra-like algorithm for two monotone operators
  3. Django(part36)--cookies
  4. 第三次学JAVA再学不好就吃翔(part15)--基础语法之控制跳转语句
  5. 在布局空间标注的尺寸量不对_CAD图纸中标注值和实际测量值不一样怎么回事?...
  6. 精选22个Pandas函数!
  7. mySPA set delivery mode 之后,Chrome network 里观察不到cart 请求了
  8. 本地启动 Hybris 服务器调试模式后,监听在 8000 端口
  9. 内容分发网络 CDN 是如何提高网页加载时间的?
  10. 关于 SAP ABAP gateway OData 的一个诡异问题及解决办法