Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/develop' into develop
Browse files Browse the repository at this point in the history
  • Loading branch information
huangkemingyyds committed May 6, 2024
2 parents 2f49431 + 70ad2eb commit 560632e
Show file tree
Hide file tree
Showing 73 changed files with 1,953 additions and 609 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,4 +46,4 @@ jobs:
- name: "Codecov"
uses: codecov/[email protected]
with:
files: ./address/target/site/jacoco/jacoco.xml,./config/target/site/jacoco/jacoco.xml,./api/target/site/jacoco/jacoco.xml,./auth/target/site/jacoco/jacoco.xml,./client/target/site/jacoco/jacoco.xml,./common/target/site/jacoco/jacoco.xml,./consistency/target/site/jacoco/jacoco.xml,./console/target/site/jacoco/jacoco.xml,./core/target/site/jacoco/jacoco.xml,./naming/target/site/jacoco/jacoco.xml,./persistence/target/site/jacoco/jacoco.xml,./plugin-default-impl/nacos-default-auth-plugin/target/site/jacoco/jacoco.xml,./plugin/auth/target/site/jacoco/jacoco.xml,./plugin/config/target/site/jacoco/jacoco.xml,./plugin/control/target/site/jacoco/jacoco.xml,./plugin/datasource/target/site/jacoco/jacoco.xml,./plugin/encryption/target/site/jacoco/jacoco.xml,./plugin/environment/target/site/jacoco/jacoco.xml,./plugin/trace/target/site/jacoco/jacoco.xml,./prometheus/target/site/jacoco/jacoco.xml,./sys/target/site/jacoco/jacoco.xml
files: ./address/target/site/jacoco/jacoco.xml,./api/target/site/jacoco/jacoco.xml,./auth/target/site/jacoco/jacoco.xml,./client/target/site/jacoco/jacoco.xml,./common/target/site/jacoco/jacoco.xml,./config/target/site/jacoco/jacoco.xml,./consistency/target/site/jacoco/jacoco.xml,./console/target/site/jacoco/jacoco.xml,./core/target/site/jacoco/jacoco.xml,./logger-adapter-impl/log4j2-adapter/target/site/jacoco/jacoco.xml,./logger-adapter-impl/logback-adapter-12/target/site/jacoco/jacoco.xml,./naming/target/site/jacoco/jacoco.xml,./persistence/target/site/jacoco/jacoco.xml,./plugin-default-impl/nacos-default-auth-plugin/target/site/jacoco/jacoco.xml,./plugin-default-impl/nacos-default-control-plugin/target/site/jacoco/jacoco.xml,./plugin/auth/target/site/jacoco/jacoco.xml,./plugin/config/target/site/jacoco/jacoco.xml,./plugin/control/target/site/jacoco/jacoco.xml,./plugin/datasource/target/site/jacoco/jacoco.xml,./plugin/encryption/target/site/jacoco/jacoco.xml,./plugin/environment/target/site/jacoco/jacoco.xml,./plugin/trace/target/site/jacoco/jacoco.xml,./prometheus/target/site/jacoco/jacoco.xml,./sys/target/site/jacoco/jacoco.xml
10 changes: 10 additions & 0 deletions auth/src/main/java/com/alibaba/nacos/auth/config/AuthConfigs.java
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,8 @@ public class AuthConfigs extends Subscriber<ServerConfigChangeEvent> {
@Value("${" + Constants.Auth.NACOS_CORE_AUTH_ENABLE_USER_AGENT_AUTH_WHITE + ":false}")
private boolean enableUserAgentAuthWhite;

private boolean hasGlobalAdminRole;

private Map<String, Properties> authPluginProperties = new HashMap<>();

public AuthConfigs() {
Expand Down Expand Up @@ -125,6 +127,14 @@ private void refreshPluginProperties() {
}
}

public boolean isHasGlobalAdminRole() {
return hasGlobalAdminRole;
}

public void setHasGlobalAdminRole(boolean hasGlobalAdminRole) {
this.hasGlobalAdminRole = hasGlobalAdminRole;
}

public String getNacosAuthSystemType() {
return nacosAuthSystemType;
}
Expand Down
38 changes: 10 additions & 28 deletions client/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -39,25 +39,12 @@
<artifactId>slf4j-api</artifactId>
<optional>true</optional>
</dependency>

<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<optional>true</optional>
</dependency>

<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<optional>true</optional>
</dependency>


<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<groupId>${project.groupId}</groupId>
<artifactId>nacos-api</artifactId>
<optional>true</optional>
</dependency>

<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>nacos-common</artifactId>
Expand All @@ -75,20 +62,15 @@
</dependency>

<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>nacos-api</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<optional>true</optional>
<groupId>com.alibaba.nacos</groupId>
<artifactId>nacos-logback-adapter-12</artifactId>
<version>${project.version}</version>
</dependency>

<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<optional>true</optional>
<groupId>com.alibaba.nacos</groupId>
<artifactId>nacos-log4j2-adapter</artifactId>
<version>${project.version}</version>
</dependency>

<dependency>
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,18 @@

package com.alibaba.nacos.client.logging;

import com.alibaba.nacos.client.logging.log4j2.Log4J2NacosLogging;
import com.alibaba.nacos.client.logging.logback.LogbackNacosLogging;
import org.slf4j.LoggerFactory;
import com.alibaba.nacos.client.env.NacosClientProperties;
import com.alibaba.nacos.common.executor.ExecutorFactory;
import com.alibaba.nacos.common.executor.NameThreadFactory;
import com.alibaba.nacos.common.logging.NacosLoggingAdapter;
import com.alibaba.nacos.common.logging.NacosLoggingAdapterBuilder;
import com.alibaba.nacos.common.logging.NacosLoggingProperties;
import com.alibaba.nacos.common.spi.NacosServiceLoader;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;

/**
* nacos logging.
Expand All @@ -30,20 +38,58 @@ public class NacosLogging {

private static final Logger LOGGER = LoggerFactory.getLogger(NacosLogging.class);

private AbstractNacosLogging nacosLogging;
private NacosLoggingAdapter loggingAdapter;

private boolean isLogback = false;
private NacosLoggingProperties loggingProperties;

private NacosLogging() {
initLoggingAdapter();
}

private void initLoggingAdapter() {
Class<? extends Logger> loggerClass = LOGGER.getClass();
for (NacosLoggingAdapterBuilder each : NacosServiceLoader.load(NacosLoggingAdapterBuilder.class)) {
LOGGER.info("Nacos Logging Adapter Builder: {}", each.getClass().getName());
NacosLoggingAdapter tempLoggingAdapter = buildLoggingAdapterFromBuilder(each);
if (isAdaptLogging(tempLoggingAdapter, loggerClass)) {
LOGGER.info("Nacos Logging Adapter: {} match {} success.", tempLoggingAdapter.getClass().getName(),
loggerClass.getName());
loggingProperties = new NacosLoggingProperties(tempLoggingAdapter.getDefaultConfigLocation(),
NacosClientProperties.PROTOTYPE.asProperties());
loggingAdapter = tempLoggingAdapter;
}
}
if (null == loggingAdapter) {
LOGGER.warn("Nacos Logging don't find adapter, logging will print into application logs.");
return;
}
scheduleReloadTask();
}

private NacosLoggingAdapter buildLoggingAdapterFromBuilder(NacosLoggingAdapterBuilder builder) {
try {
Class.forName("ch.qos.logback.classic.Logger");
nacosLogging = new LogbackNacosLogging();
isLogback = true;
} catch (ClassNotFoundException e) {
nacosLogging = new Log4J2NacosLogging();
return builder.build();
} catch (Throwable e) {
LOGGER.warn("Build Nacos Logging Adapter failed: {}", e.getMessage());
return null;
}
}

private boolean isAdaptLogging(NacosLoggingAdapter loggingAdapter, Class<? extends Logger> loggerClass) {
return null != loggingAdapter && loggingAdapter.isEnabled() && loggingAdapter.isAdaptedLogger(loggerClass);
}

private void scheduleReloadTask() {
ScheduledExecutorService reloadContextService = ExecutorFactory.Managed
.newSingleScheduledExecutorService("Nacos-Client",
new NameThreadFactory("com.alibaba.nacos.client.logging"));
reloadContextService.scheduleAtFixedRate(() -> {
if (loggingAdapter.isNeedReloadConfiguration()) {
loggingAdapter.loadConfiguration(loggingProperties);
}
}, 0, loggingProperties.getReloadInternal(), TimeUnit.SECONDS);
}

private static class NacosLoggingInstance {

private static final NacosLogging INSTANCE = new NacosLogging();
Expand All @@ -58,10 +104,12 @@ public static NacosLogging getInstance() {
*/
public void loadConfiguration() {
try {
nacosLogging.loadConfiguration();
if (null != loggingAdapter) {
loggingAdapter.loadConfiguration(loggingProperties);
}
} catch (Throwable t) {
String loggerName = isLogback ? "Logback" : "Log4j";
LOGGER.warn("Load {} Configuration of Nacos fail, message: {}", loggerName, t.getMessage());
LOGGER.warn("Load {} Configuration of Nacos fail, message: {}", LOGGER.getClass().getName(),
t.getMessage());
}
}
}

This file was deleted.

Loading

0 comments on commit 560632e

Please sign in to comment.