如何在ABAP Netweaver和CloudFoundry里记录并查看日志
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里记录并查看日志相关推荐
- 如何在ABAP Netweaver和CloudFoundry里记录并查看日志 1
Netweaver 要记录日志需要有一个checkpoint group,可以自行创建也可以使用标准的.这里我重用标准的group:DEMO_CHECKPOINT_GROUP. tcode SAAB, ...
- ABAP Netweaver和Hybris里获得内存使用统计数据
ABAP Netweaver 事物码ST06 Hybris 每隔5秒钟,Hybris Administration console会发起一个到Java后台的AJAX查询请求: 这个5秒的时间间隔定义在 ...
- Netweaver和CloudFoundry里的trace开关
Netweaver 事务码SU01的参数设置里,有很多关于trace(跟踪)的开关. FPTRACELEVEL: 设成04后,能将ADS生成PDF的trace信息写入生成的PDF. 详细原理参考我的b ...
- 如何使用Prometheus采集SAP ABAP Netweaver的应用日志数据
Prometheus是一套开源的系统监控报警框架.它启发于Google的borgmon 监控系统,由工作在 SoundCloud 的 google 前员工在 2012 年创建,作为社区开源项目进行开发 ...
- SAP ABAP Netweaver服务器的标准登录方式讲解
最近Jerry把这个公众号之前发布的总共230篇文章按照类别整理了一系列合集出来,比如所有的ABAP文章,放在了这个合集里:汪子熙的ABAP合集. 本文继续介绍ABAP里的一个知识点:ABAP Net ...
- 从ABAP Netweaver的SICF到SAP Kyma的Lambda Function
ABAP Netweaver里的事务码SICF是Jerry做原型开发时非常喜欢使用的一个工具:但凡遇到需要把ABAP系统里的资源以服务的方式暴露出来的场景,Jerry都喜欢在SICF里创建一个服务节点 ...
- ABAP Netweaver, Hybris Commerce和SAP 云平台的登录认证
ABAP Netweaver 在事务码SICF里选择一个服务,在明细页面对Procedure字段点击F1,查看Logon Procedure的帮助文档. 通过这个链接打开对应的帮助文档,可以看到下列七 ...
- ABAP Netweaver和Hybris Enterprise Commerce Platform的登录认证
ABAP Netweaver 在我的博客Learn more detail about Standard logon procedure里有详细介绍. Hybris ECP Hybris Admini ...
- SAP ABAP Netweaver容器化, 不可能完成的任务吗?
Jerry之前的文章 一个13年ABAP老兵的建议:了解这些基础知识,对ABAP开发有百利而无一害, 回顾了ABAP Netweaver服务器主要的组件.本文咱们就来聊聊ABAP Netweaver容 ...
最新文章
- 面向固态激光雷达和惯导的里程计和建图
- “抗击”新型肺炎!阿里达摩院研发AI算法,半小时完成疑似病例基因分析
- python快速入门 pdf-Python快速入门 (第3版) PDF 下载
- svn merger的时候 报远程主机强迫_SVN与Git比较的优缺点差异
- css表单发光,表单input选中后发光CSS怎么写
- 为Mac安装homebrew
- 漫步最优化十三——驻点
- HTML中的表格和表单控件详解
- Spring Cloud Stream与RabbitMQ 死信队列
- intellij 专业版 TomCat9
- WPF版的Dock控件第二版完成
- 信号与系统——傅里叶变换
- 二、17【FPGA】无源蜂鸣器驱动实验
- 交互设计常识:设计模型分析
- 使用来自文件“***.snk”的公钥对输出签名时出错
- Android7工程模式,安卓手机的“工程模式”是什么?
- java毕业生设计学籍管理系统计算机源码+系统+mysql+调试部署+lw
- python抓取懂球帝部分球员数据
- 网关 Spring Cloud Gateway 监控 actuator
- 技嘉b365dv3主板黑苹果efi_黑苹果--技嘉 z390 gaming X 究极方案
热门文章
- 文献记录(part24)--Nonlinear dictionary learning with application to image classification
- 文献记录(part2)--A Dykstra-like algorithm for two monotone operators
- Django(part36)--cookies
- 第三次学JAVA再学不好就吃翔(part15)--基础语法之控制跳转语句
- 在布局空间标注的尺寸量不对_CAD图纸中标注值和实际测量值不一样怎么回事?...
- 精选22个Pandas函数!
- mySPA set delivery mode 之后,Chrome network 里观察不到cart 请求了
- 本地启动 Hybris 服务器调试模式后,监听在 8000 端口
- 内容分发网络 CDN 是如何提高网页加载时间的?
- 关于 SAP ABAP gateway OData 的一个诡异问题及解决办法