怎么在ABAP Netweaver和CloudFoundry里记录并查看日志

61次阅读
没有评论

共计 2718 个字符,预计需要花费 7 分钟才能阅读完成。

自动写代码机器人,免费开通

这篇文章主要为大家展示了“怎么在 ABAP Netweaver 和 CloudFoundry 里记录并查看日志”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让丸趣 TV 小编带领大家一起研究并学习一下“怎么在 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.

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:

(4) 代码里的使用:

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

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

以上是“怎么在 ABAP Netweaver 和 CloudFoundry 里记录并查看日志”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注丸趣 TV 行业资讯频道!

向 AI 问一下细节

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-07发表,共计2718字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)