broker日志配置

This commit is contained in:
许晓东
2021-11-05 14:37:00 +08:00
parent 704ae1d968
commit c2dc95aba4
8 changed files with 103 additions and 9 deletions

View File

@@ -70,4 +70,19 @@ public class ConfigController {
public Object deleteBrokerConfig(@RequestBody AlterConfigDTO dto) {
return configService.alterBrokerConfig(dto.getEntity(), dto.to(), AlterType.DELETE);
}
@GetMapping("/broker/logger")
public Object getBrokerLoggerConfig(String brokerId) {
return configService.getBrokerLoggerConfig(brokerId);
}
@PostMapping("/broker/logger")
public Object setBrokerLoggerConfig(@RequestBody AlterConfigDTO dto) {
return configService.alterBrokerLoggerConfig(dto.getEntity(), dto.to(), AlterType.SET);
}
@DeleteMapping("/broker/logger")
public Object deleteBrokerLoggerConfig(@RequestBody AlterConfigDTO dto) {
return configService.alterBrokerLoggerConfig(dto.getEntity(), dto.to(), AlterType.DELETE);
}
}

View File

@@ -16,7 +16,11 @@ public interface ConfigService {
ResponseData getBrokerConfig(String brokerId);
ResponseData getBrokerLoggerConfig(String brokerId);
ResponseData alterBrokerConfig(String brokerId, ConfigEntry entry, AlterType type);
ResponseData alterBrokerLoggerConfig(String brokerId, ConfigEntry entry, AlterType type);
ResponseData alterTopicConfig(String topic, ConfigEntry entry, AlterType type);
}

View File

@@ -36,6 +36,12 @@ public class ConfigServiceImpl implements ConfigService {
return ResponseData.create().data(vos).success();
}
@Override public ResponseData getBrokerLoggerConfig(String brokerId) {
List<ConfigEntry> configEntries = configConsole.getBrokerLoggerConfig(brokerId);
List<ConfigEntryVO> vos = configEntries.stream().map(ConfigEntryVO::from).sorted().collect(Collectors.toList());
return ResponseData.create().data(vos).success();
}
@Override public ResponseData alterBrokerConfig(String brokerId, ConfigEntry entry, AlterType type) {
Tuple2<Object, String> tuple2 = null;
switch (type) {
@@ -49,6 +55,19 @@ public class ConfigServiceImpl implements ConfigService {
return (boolean) tuple2._1() ? ResponseData.create().success() : ResponseData.create().failed(tuple2._2());
}
@Override public ResponseData alterBrokerLoggerConfig(String brokerId, ConfigEntry entry, AlterType type) {
Tuple2<Object, String> tuple2 = null;
switch (type) {
case SET:
tuple2 = configConsole.setBrokerLoggerConfig(brokerId, entry);
break;
case DELETE:
tuple2 = configConsole.deleteBrokerLoggerConfig(brokerId, entry);
break;
}
return (boolean) tuple2._1() ? ResponseData.create().success() : ResponseData.create().failed(tuple2._2());
}
@Override
public ResponseData alterTopicConfig(String topic, ConfigEntry entry, AlterType type) {
Tuple2<Object, String> tuple2 = null;

View File

@@ -5,7 +5,7 @@ import java.util.Collections
import java.util.concurrent.TimeUnit
import com.xuxd.kafka.console.config.KafkaConfig
import kafka.admin.ConfigCommand.BrokerLoggerConfigType
import kafka.console.ConfigConsole.BrokerLoggerConfigType
import kafka.server.ConfigType
import org.apache.kafka.clients.admin.{AlterConfigOp, Config, ConfigEntry, DescribeConfigsOptions}
import org.apache.kafka.common.config.ConfigResource
@@ -31,6 +31,10 @@ class ConfigConsole(config: KafkaConfig) extends KafkaConsole(config: KafkaConfi
getConfig(ConfigType.Broker, broker)
}
def getBrokerLoggerConfig(broker: String): List[ConfigEntry] = {
getConfig(BrokerLoggerConfigType, broker)
}
def setBrokerConfig(broker: String, entry: ConfigEntry): (Boolean, String) = {
alterConfig(ConfigType.Broker, broker, entry, AlterConfigOp.OpType.SET)
}
@@ -47,6 +51,14 @@ class ConfigConsole(config: KafkaConfig) extends KafkaConsole(config: KafkaConfi
alterConfig(ConfigType.Topic, topic, entry, AlterConfigOp.OpType.DELETE)
}
def setBrokerLoggerConfig(topic: String, entry: ConfigEntry): (Boolean, String) = {
alterConfig(BrokerLoggerConfigType, topic, entry, AlterConfigOp.OpType.SET)
}
def deleteBrokerLoggerConfig(topic: String, entry: ConfigEntry): (Boolean, String) = {
alterConfig(BrokerLoggerConfigType, topic, entry, AlterConfigOp.OpType.DELETE)
}
def getConfig(entityType: String, entityName: String): List[ConfigEntry] = {
getResourceConfig(entityType, entityName, false).asJava
}
@@ -107,3 +119,7 @@ class ConfigConsole(config: KafkaConfig) extends KafkaConsole(config: KafkaConfi
configResourceType
}
}
object ConfigConsole {
val BrokerLoggerConfigType = "broker-loggers"
}