日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2023/12/19 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何在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里记录并查看日志的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。