这篇文章主要为大家展示了“怎么在ABAP Netweaver和CloudFoundry里记录并查看日志”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“怎么在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里记录并查看日志”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程之家行业资讯频道!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。