官方文档已经写得足够详细了,这里只是记录个人的集成过程。

1. 引入依赖

在项目的 pom.xml 中引入如下内容:
<dependency> <groupId>com.dianping.cat</groupId> <artifactId>cat-client</
artifactId> <version>2.0.0</version> </dependency>
将引入如下Jar包:
cat-client-2.0.0.jar foundation-service-4.0.0.jar netty-all-4.0.25.Final.jar
gson-1.6.jar
2. 配置domain

在项目的src/main/resources/META-INF目录下添加名为app.properties配置文件,
并在其中加入如下内容(其中XXX就是你要为本项目配置的domain名称):
app.name=XXX
3. web.xml

加入如下Filter:
<!-- 该Filter必须放在url-rewrite-filter 之后的第一个 --> <!--
如果不是会导致URL的个数无限多,比如search/1/2,search/2/3等等,无法监控,后端存储压力也变大。 --> <filter> <
filter-name>cat-filter</filter-name> <filter-class>
com.dianping.cat.servlet.CatFilter</filter-class> </filter> <filter-mapping> <
filter-name>cat-filter</filter-name> <url-pattern>/*</url-pattern> <dispatcher>
REQUEST</dispatcher> <dispatcher>FORWARD</dispatcher> </filter-mapping>
4. CAT工作目录

我们还需要为CAT创建一个工作时目录,用于存放日志和一些运行时生成的配置信息等。

在将要部署到的tomcat,其所在目录的根目录(这里我们假设为E:/),执行如下命令:
cd E:/ mkdir -p ./data/appdatas/cat mkdir -p ./data/applogs/cat
注意上面提到的 根目录;在使用Eclipse启动项目时,该根目录则应该是Eclipse的工作目录(使用
System.getProperty("user.dir")获取)

5. 配置文件client.xml

在上面创建的E:/data/appdatas/cat/目录下,新建一个名为client.xml文件,并在其中填入如下内容:
<config mode="client" xmlns:xsi="http://www.w3.org/2001/XMLSchema"
xsi:noNamespaceSchemaLocation="config.xsd"> <servers> <!-- 服务端地址, 端口固定--> <!--
如果有多个Server, 就继续增加相应的节点配置 --> <server ip="127.0.0.1" port="2280" http-port=
"8080" /> </servers> <!-- 用于关闭CAT消息发送,将enabled改为false,如下表示将mobile-api这个项目关闭 -->
<domain id="mobile-api" enabled="false"/> </config>
6. 注意事项

其他一些非必要的注意事项就放到这里了。

6.1 struts2

struts会吃掉URL中的ERROR信息,所以我们需要在struts2.xml文件中加入如下内容:
<constant name="struts.handle.exception" value="false" />
7. 集成

这个不单独成文了,因为官方的文档已经足够了,这里也只是列举一些注意事项。

7.1 Log4j2

GitHub
<https://github.com/dianping/cat/tree/master/%E6%A1%86%E6%9E%B6%E5%9F%8B%E7%82%B9%E6%96%B9%E6%A1%88%E9%9B%86%E6%88%90/log4j2>

这里需要注意的是: 我们需要让Log4j2感知到我们自定义的Appender。可以参考下这个链接: Log4j2自定义Appender注意事项
<https://blog.csdn.net/zero__007/article/details/52107578>。

另外以下为来自官方的建议:
1. 所有Log都打到CAT,这样才能更快发现问题。
2. 建议在Root节点中添加此appendar。

7.2 Mybatis

GitHub
<https://github.com/dianping/cat/tree/master/%E6%A1%86%E6%9E%B6%E5%9F%8B%E7%82%B9%E6%96%B9%E6%A1%88%E9%9B%86%E6%88%90/mybatis>

8. Links

* 集成文档 - 官方 <http://unidal.org/cat/r/home?op=view&docName=integration>
* 集成文档 - GitHub
<https://github.com/dianping/cat/blob/master/%E6%A1%86%E6%9E%B6%E5%9F%8B%E7%82%B9%E6%96%B9%E6%A1%88%E9%9B%86%E6%88%90/Dianping%20CAT%20%E5%AE%89%E8%A3%85%E8%AF%B4%E6%98%8E%E6%96%87%E6%A1%A3.md>
– 这份更加详细
* 框架埋点方案集成 - GitHub
<https://github.com/dianping/cat/tree/master/%E6%A1%86%E6%9E%B6%E5%9F%8B%E7%82%B9%E6%96%B9%E6%A1%88%E9%9B%86%E6%88%90>

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:ixiaoyang8@qq.com
QQ群:637538335
关注微信