您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“怎么在ABAP Netweaver和CloudFoundry里記錄并查看日志”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“怎么在ABAP Netweaver和CloudFoundry里記錄并查看日志”這篇文章吧。
要記錄日志需要有一個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.
總的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里記錄并查看日志”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。