提交 e266650a 编写于 作者: T Terence 提交者: wangyapu

Update zh-CN.md

上级 af3c9f9a
# Cat Client Java # Cat Client for Java
Cat Java 客户端支持 JDK 1.6+ Cat Java 客户端支持 JDK 1.6 及以上版本
## 安装 ## 安装
...@@ -16,24 +16,9 @@ Cat Java 客户端支持 JDK 1.6+ ...@@ -16,24 +16,9 @@ Cat Java 客户端支持 JDK 1.6+
## 初始化 ## 初始化
首先你需要创建 `/data/appdatas/cat` 目录,并拥有读写权限 (0644)。建议同时创建 `/data/applogs/cat` 目录用于存放日志,这将在排查问题时非常有用 一些[准备工作](../_/preparations.zh-CN.md)需要在初始化 `cat client` 之前完成
然后创建一个配置文件 `/data/appdatas/cat/client.xml`,内容如下: 然后你需要在你的项目中创建 `src/main/resources/META-INF/app.properties` 文件, 并添加如下内容:
```xml
<?xml version="1.0" encoding="utf-8"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema" xsi:noNamespaceSchemaLocation="config.xsd">
<servers>
<server ip="<cat server ip address>" port="2280" http-port="8080" />
</servers>
</config>
```
> 在复制粘贴文件内容后,不要忘记把 `<cat server IP address>` 改成你自己的IP!
所有准备工作都完成之后, 你必须在你的项目模块下配置规范的项目名,统一项目名以文件的形式放在模块指定的目录下.
你需要创建 `src/main/resources/META-INF/app.properties` 文件, 添加如下内容:
``` ```
app.name={appkey} app.name={appkey}
...@@ -43,7 +28,7 @@ app.name={appkey} ...@@ -43,7 +28,7 @@ app.name={appkey}
## Quickstart ## Quickstart
``` ```java
Transaction t = Cat.newTransaction("URL", "pageName"); Transaction t = Cat.newTransaction("URL", "pageName");
try { try {
...@@ -66,11 +51,9 @@ try { ...@@ -66,11 +51,9 @@ try {
### Transaction ### Transaction
记录一段事务的执行过程。
> 为了避免忘记关闭 Transaction, 建议在 finally 代码块中执行 complete。 > 为了避免忘记关闭 Transaction, 建议在 finally 代码块中执行 complete。
``` ```java
Transaction t = Cat.newTransaction("URL", "pageName"); Transaction t = Cat.newTransaction("URL", "pageName");
try { try {
...@@ -86,13 +69,16 @@ try { ...@@ -86,13 +69,16 @@ try {
我们提供了一系列 API 来对 Transaction 进行修改。 我们提供了一系列 API 来对 Transaction 进行修改。
* addData
* setStatus
* setDurationStart
* setDurationInMillis * setDurationInMillis
* setTimestamp * setTimestamp
* addData * complete
这些 API 可以被很方便的使用,参考如下代码: 这些 API 可以被很方便的使用,参考如下代码:
``` ```java
Transaction t = Cat.newTransaction("URL", "pageName"); Transaction t = Cat.newTransaction("URL", "pageName");
try { try {
...@@ -111,44 +97,69 @@ try { ...@@ -111,44 +97,69 @@ try {
在使用 Transaction 提供的 API 时,你可能需要注意以下几点: 在使用 Transaction 提供的 API 时,你可能需要注意以下几点:
1. `Duration` 在 Transaction 结束的时候会被自动计算(当前时间 - 开始时间) 1. 你可以调用 `addData` 多次,他们会被 `&` 连接起来。
2. 尽管`timestamp`默认是和`durationStart`相同的,你仍然可以复写它。 2. 同时指定 `duration``durationStart` 是没有意义的,尽管我们在样例中这样做了。
3. `durationStart``timestamp`是不同的,前者代表 Transaction 的开始时间,后者代表 Message 的创建时间(Transaction 也是一种 Message)。 3. 不要忘记完成 transaction!否则你会得到一个毁坏的消息树以及内存泄漏!
4. 当你指定了 `duration` 时,`durationStart` 就不起作用了。
5. 你可以调用 `addData` 多次,他们会通过 `&` 连接。
### Event ### Event
#### Cat.logEvent #### Cat.logEvent
记录某种事件的发生 记录一个事件
``` ```java
# Log a event with success status and empty data. # Log a event with success status and empty data.
Cat.logEvent("URL.Server", "serverIp"); Cat.logEvent("URL.Server", "serverIp");
# Log a event with success status and additional data. # Log an event with given status and given data.
Cat.logEvent("URL.Server", "serverIp", Event.SUCCESS, "ip=${serverIp}"); Cat.logEvent("URL.Server", "serverIp", Event.SUCCESS, "ip=${serverIp}");
``` ```
#### Cat.logError #### Cat.logError
记录应用发生的异常 记录一个带有错误堆栈信息的 Error
``` Error 是一种特殊的事件,它的 `type` 取决于传入的 `Throwable e`.
# Error traces will be collected when you use it in an except block.
1. 如果 `e` 是一个 `Error`, `type` 会被设置为 `Error`
2. 如果 `e` 是一个 `RuntimeException`, `type` 会被设置为 `RuntimeException`
3. 其他情况下,`type` 会被设置为 `Exception`
同时错误堆栈信息会被收集并写入 `data` 属性中。
```java
try { try {
1 / 0; 1 / 0;
} catch (Exception e) { } catch (Throwable e) {
Cat.logError(e); Cat.logError(e);
} }
```
你可以向错误堆栈顶部添加你自己的错误消息,如下代码所示:
```java
Cat.logError("error(X) := exception(X)", e);
```
#### Cat.logErrorWithCategory
Though `name` has been set to the classname of the given `Throwable e` by default, you can use this api to overwrite it.
尽管 `name` 默认会被设置为传入的 `Throwable e` 的类名,你仍然可以使用这个 API 来复写它。
```java
Exception e = new Exception("syntax error");
Cat.logErrorWithCategory("custom-category", e);
```
就像 `logError` 一样,你也可以向错误堆栈顶部添加你自己的错误消息:
# customize your own error traces through the 1nd parameter which is optional. ```java
Cat.logError("this is my error stack info", e) Cat.logErrorWithCategory("custom-category", "?- X = Y, Y = 2", e);
``` ```
### Metric ### Metric
记录业务指标的统计总和以及平均值。 记录业务指标的总和或平均值。
``` ```
# Counter # Counter
...@@ -180,4 +191,4 @@ Cat.logMetricForDuration("metric.key", 5); ...@@ -180,4 +191,4 @@ Cat.logMetricForDuration("metric.key", 5);
### 更多集成方案 ### 更多集成方案
更多集成方案参考项目根目录下integration目录 更多集成方案,请参考[框架埋点方案集成](../../integration)
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册