LevelConfiguration Class — spring-boot Architecture
Architecture documentation for the LevelConfiguration class in LoggerConfiguration.java from the spring-boot codebase.
Entity Profile
Relationship Graph
Source Code
core/spring-boot/src/main/java/org/springframework/boot/logging/LoggerConfiguration.java lines 172–251
public static final class LevelConfiguration {
private final String name;
private final @Nullable LogLevel logLevel;
private LevelConfiguration(String name, @Nullable LogLevel logLevel) {
this.name = name;
this.logLevel = logLevel;
}
/**
* Return the name of the level.
* @return the level name
*/
public String getName() {
return this.name;
}
/**
* Return the actual level value if possible.
* @return the level value
* @throws IllegalStateException if this is a {@link #isCustom() custom} level
*/
public LogLevel getLevel() {
Assert.state(this.logLevel != null, () -> "Unable to provide LogLevel for '" + this.name + "'");
return this.logLevel;
}
/**
* Return if this is a custom level and cannot be represented by {@link LogLevel}.
* @return if this is a custom level
*/
public boolean isCustom() {
return this.logLevel == null;
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null || getClass() != obj.getClass()) {
return false;
}
LevelConfiguration other = (LevelConfiguration) obj;
return this.logLevel == other.logLevel && ObjectUtils.nullSafeEquals(this.name, other.name);
}
@Override
public int hashCode() {
return Objects.hash(this.logLevel, this.name);
}
@Override
public String toString() {
return "LevelConfiguration [name=" + this.name + ", logLevel=" + this.logLevel + "]";
}
/**
* Create a new {@link LevelConfiguration} instance of the given {@link LogLevel}.
* @param logLevel the log level
* @return a new {@link LevelConfiguration} instance
*/
public static LevelConfiguration of(LogLevel logLevel) {
Assert.notNull(logLevel, "'logLevel' must not be null");
return new LevelConfiguration(logLevel.name(), logLevel);
}
/**
* Create a new {@link LevelConfiguration} instance for a custom level name.
* @param name the log level name
* @return a new {@link LevelConfiguration} instance
*/
public static LevelConfiguration ofCustom(String name) {
Assert.hasText(name, "'name' must not be empty");
return new LevelConfiguration(name, null);
}
}
Domain
Source
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free