在 WSO2 ESB 5.0.0 中使用 SLF4J 日志框架

WSO2 ESB 5.0.0中使用SLF4J日志框架实战

一、所需 jar 包

由于 WSO2 ESB 5.0.0 自带的日志组件使用的是 log4j,并提供有 log4j-slf4j-impl jar 包,所以只需导入以下三个包:
在这里插入图片描述

可以到 mvnrepository 下载 jar 包。

把 jar 包放到 {WSO2 ESB 5.0.0}\lib 目录下
在这里插入图片描述
导入 jar 到项目。
在这里插入图片描述

二、修改日志输出级别

打开 {WSO2 ESB 5.0.0}\repository\conf\log4j.properties 文件
在这里插入图片描述
把第 38 行开头的 ERROR 改为 INFO,保存,重启 WSO2 ESB。

不修改的话只会打印 ≥ ERROR 级别的日志。

三、实例测试

1、添加自带的 Log 日志组件。

在这里插入图片描述

2、Mediator Project 类

package com;

import org.apache.synapse.MessageContext; 
import org.apache.synapse.mediators.AbstractMediator;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class TestMyModel extends AbstractMediator { 

	private String property_name;
	
	public String getProperty_name() {
		return property_name;
	}

	public void setProperty_name(String property_name) {
		this.property_name = property_name;
	}

	//SLF4J 日志记录器
	private static final Logger logger = LoggerFactory.getLogger(TestMyModel.class);
	
	public boolean mediate(MessageContext context) { 
		// TODO Implement your mediation logic here 
		
		String xmldata = (String)context.getProperty(property_name);
		
		//System.out.println("xmldata: " + xmldata);
		
		logger.info("info xmldata: {}", xmldata);
		logger.warn("warn xmldata: {}", xmldata);
		logger.error("error xmldata: {}", xmldata);
		
		//log 是 wso2 自带的日志记录器,在扩展了 AbstractMediator 的类中不用声明可以直接使用。
		log.debug("receive debug");
		//log.info("receive info");
		//log.warn("receive warn");
		//log.error("receive error");

		String resp = "<DATA>\n" + 
				"        <DATAINFOS>\n" + 
				"            <PUUID>11111</PUUID>\n" + 
				"            <SYNCODE>ZWY</SYNCODE>\n" + 
				"            <DATAINFO>\n" + 
				"                <DESC1>ABC</DESC1>\n" + 
				"            </DATAINFO>\n" + 
				"        </DATAINFOS>\n" + 
				"    </DATA>";
		context.setProperty("resp", resp);
		
		return true;
	}
}

3、Postman 测试

Postman 进行 POST 请求测试。
在这里插入图片描述

控制台日志输出:

[2021-07-28 20:13:49,333]  INFO - LogMediator To: /test_my_model, MessageID: urn:uuid:c51c534d-9cdd-4bdb-9ee6-d8fe40f5fb47, Direction: request
[2021-07-28 20:13:49,334]  INFO - test_my_model To: /test_my_model, MessageID: urn:uuid:c51c534d-9cdd-4bdb-9ee6-d8fe40f5fb47, Direction: request
[2021-07-28 20:13:49,461]  INFO - LogMediator To: /test_my_model, MessageID: urn:uuid:c51c534d-9cdd-4bdb-9ee6-d8fe40f5fb47, Direction: request
[2021-07-28 20:13:49,462]  INFO - test_my_model To: /test_my_model, MessageID: urn:uuid:c51c534d-9cdd-4bdb-9ee6-d8fe40f5fb47, Direction: request
[2021-07-28 20:13:49,462]  INFO - TestMyModel info xmldata: {"ESB":{"DATA":{"DATAINFOS":{"PUUID":11111,"SYNCODE":"test_my_model","DATAINFO":{"DESC1":"EFG","DESC2":"ABC","DESC3":"ABC","DESC4":"ABC","DESC5":"ABC","DESC6":"ABC","DESC7":"ABC"}}}}}
[2021-07-28 20:13:49,463]  WARN - TestMyModel warn xmldata: {"ESB":{"DATA":{"DATAINFOS":{"PUUID":11111,"SYNCODE":"test_my_model","DATAINFO":{"DESC1":"EFG","DESC2":"ABC","DESC3":"ABC","DESC4":"ABC","DESC5":"ABC","DESC6":"ABC","DESC7":"ABC"}}}}}
[2021-07-28 20:13:49,464] ERROR - TestMyModel error xmldata: {"ESB":{"DATA":{"DATAINFOS":{"PUUID":11111,"SYNCODE":"test_my_model","DATAINFO":{"DESC1":"EFG","DESC2":"ABC","DESC3":"ABC","DESC4":"ABC","DESC5":"ABC","DESC6":"ABC","DESC7":"ABC"}}}}}

可以看到自带的日志组件和 SLF4J 日志框架的输出格式基本一致。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菠萝蚊鸭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值