如何在ABAP Netweaver和CloudFoundry里记录并查看日志 1
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里记录并查看日志
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容 ...
最新文章
- ubuntu vsftp安装
- shp设置utf8格式_shp文件格式说明
- 报时功能_现在的智能机都没有内置整点自动报时吗?锤子坚果手机SOS有!
- 【译】成为优秀程序员(和人类)的101个技巧
- Centos 7 环境下,如何使用 Apache 实现 SSL 虚拟主机 双向认证 的详细教程:
- 动态(静态)加载DLL注意
- 分布式技术(2)大型网站架构利器-CDN技术
- 在Colaboratory中使用ImageAI训练自己的数据集
- 计算机类顶级会议排名+投稿经验
- 变频器的工作原理与结构介绍
- vue利用 canvas 在图片上加文字
- However的用法主要有以下两点:
- RecyclerView源码学习笔记(一)构造函数和setLayoutManager方法
- 女友忽然欲买文胸,但不知何色更美,Python解之【全程实战,议藏之】
- 线性回归方程b保留几位小数_实验室原始数据怎么保留最准确?(一)
- 关键路径法详解【CPM】
- 一文搞懂k近邻(k-NN)算法(一)
- java 类的方法设计_设计问题:Java类与单方法OK?
- 梦想世界2014年5月29日服务器维护公告,2021年4月30日游戏更新公告
- 在提示框中:双击浏览器缩放,浓咖啡小睡和Android引导屏幕
热门文章
- css网格_一个CSS网格可以全部统治
- 【赠书福利】不扶好眼镜,请别打开这本挑战JS语言特性的书
- 【转】CentOS 6.6 升级GCC G++ (当前最新版本为v6.1.0) (完整)
- 《Programming in Lua 3》读书笔记(十二)
- 对程序实施精准手术!阿里安全猎户座实验室首创“自动逆向机器人”
- Spark架构与作业执行流程简介
- Java设计模式之策略设计模式
- MySQL服务器硬件和操作系统调节
- 极端高温导致澳大利亚断网
- 2017年,这两个大数据岗位一定会火!