假设您有一个Camel路由,并且您想将整个请求打印到log4j记录器。
from("direct:myroute")
.id(routeName)
.process(new HttpProcessor(endpoint))
.marshal()
.json(JsonLibrary.Jackson, MyRequest.class)
.toF("http://%s", "myroute")
.unmarshal()
.json(JsonLibrary.Jackson, MyResponse.class);
您可以通过添加以下内容将跟踪打印到记录器:
.to("log:mylog?level=debug")
...但只打印描述交易的元日志。您可以通过添加以下内容将整个JSON请求打印到文件中:
.to("file:myfolder")
...但是每个请求会打印一个文件到特殊文件夹。有没有办法让Camel将整个请求打印到log4j记录器?
答案 0 :(得分:0)
这很容易
.from("foo:bar")
.log(LoggingLevel.DEBUG,"${body}");
您还可以使用目前为止使用的功能更强大的记录器上的选项来启用/禁用各种功能。你需要设置的类型取决于你处理文件或流或普通字符串等。