日志优化
This commit is contained in:
@@ -142,7 +142,7 @@ public abstract class DataSqlSource extends AbstractDataSource implements Functi
|
||||
String newValue = decryptProperty(event.name(), event.newValue().toString());
|
||||
allEvents.add(ResourceEvent.create(event.name(), newValue, event.oldValue()));
|
||||
newProps.put(event.name(), newValue);
|
||||
sb.append("DataSource(name=").append(resourceName()).append(") the ").append(event.name()).append(" resource changed\r\n");
|
||||
sb.append("DataSource(name=").append(resourceName()).append(") change '").append(event.name()).append("' to '").append(event.coverNewValue()).append("'\r\n");
|
||||
}
|
||||
updateOneResourceChange(newProps, allEvents.toArray(new ResourceEvent[allEvents.size()]));
|
||||
for (ResourceEvent event : allEvents) {
|
||||
@@ -165,7 +165,7 @@ public abstract class DataSqlSource extends AbstractDataSource implements Functi
|
||||
writeEvents.add(ResourceEvent.create(newName, newValue, event.oldValue()));
|
||||
newWriteProps.put(event.name(), newValue);
|
||||
}
|
||||
sb.append("DataSource(name=").append(resourceName()).append(") the ").append(event.name()).append(" resource changed\r\n");
|
||||
sb.append("DataSource(name=").append(resourceName()).append(") change '").append(event.name()).append("' to '").append(event.coverNewValue()).append("'\r\n");
|
||||
}
|
||||
if (!readEvents.isEmpty()) {
|
||||
updateReadResourceChange(newReadProps, readEvents.toArray(new ResourceEvent[readEvents.size()]));
|
||||
|
||||
@@ -2,6 +2,9 @@
|
||||
*/
|
||||
package org.redkale.util;
|
||||
|
||||
import java.util.function.Predicate;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
/**
|
||||
* 详情见: https://redkale.org
|
||||
*
|
||||
@@ -18,6 +21,14 @@ public interface ResourceEvent<T> {
|
||||
|
||||
public T oldValue();
|
||||
|
||||
default String coverNewValue() {
|
||||
return ResourceChangeEvent.cover(newValue());
|
||||
}
|
||||
|
||||
default String coverOldValue() {
|
||||
return ResourceChangeEvent.cover(oldValue());
|
||||
}
|
||||
|
||||
public static boolean containsName(ResourceEvent[] events, String... names) {
|
||||
if (events == null || events.length == 0 || names.length == 0) return false;
|
||||
for (ResourceEvent event : events) {
|
||||
@@ -32,12 +43,22 @@ public interface ResourceEvent<T> {
|
||||
|
||||
public static class ResourceChangeEvent<T> implements ResourceEvent<T> {
|
||||
|
||||
private static final Predicate<String> numRegx = Pattern.compile("^(\\-|\\+)?\\d+(\\.\\d+)?$").asPredicate();
|
||||
|
||||
protected String name;
|
||||
|
||||
protected T newValue;
|
||||
|
||||
protected T oldValue;
|
||||
|
||||
static <T> String cover(T val) {
|
||||
if (val == null) return null;
|
||||
String str = val.toString();
|
||||
if (str.length() <= 4) return str;
|
||||
if (numRegx.test(str)) return str;
|
||||
return str.substring(0, 2) + "***" + str.substring(str.length() - 2);
|
||||
}
|
||||
|
||||
@ConstructorParameters({"name", "newValue", "oldValue"})
|
||||
public ResourceChangeEvent(String name, T newValue, T oldValue) {
|
||||
this.name = name;
|
||||
|
||||
Reference in New Issue
Block a user