Class LoggerCore
java.lang.Object
dev.ua.theroer.magicutils.logger.LoggerCoreMethods
dev.ua.theroer.magicutils.logger.LoggerCore
public class LoggerCore
extends dev.ua.theroer.magicutils.logger.LoggerCoreMethods
Platform-agnostic logger core with configurable formatting and placeholders.
-
Constructor Summary
ConstructorsConstructorDescriptionLoggerCore(Platform platform, ConfigManager configManager, Object placeholderOwner, String pluginName) Create a logger core instance. -
Method Summary
Modifier and TypeMethodDescriptionvoidBroadcasts a message to console and players.Creates or retrieves a prefixed logger with default prefix.Creates or retrieves a prefixed logger with custom prefix.debug()Creates a DEBUG level log builder.error()Creates an ERROR level log builder.Returns the chat prefix mode from the active configuration.Returns the console prefix mode from the active configuration.Returns the custom prefix text from the active configuration.Returns the default log target from the active configuration.info()Creates an INFO level log builder.booleanReturns whether console formatting should be stripped from messages.booleanReturns whether console messages should use gradient coloring.booleanisLevelEnabled(LogLevel level) Returns whether a log level is enabled for the default target.booleanisLevelEnabled(LogLevel level, LogTarget target) Returns whether a log level is enabled for the provided target.log()Creates an INFO level log builder.noPrefix()Creates an INFO level log builder with prefix disabled.net.kyori.adventure.text.ComponentparseMessage(Object message, LogLevel level, LogTarget target, @Nullable PrefixMode prefixOverride, @Nullable Audience directAudience, @Nullable Collection<? extends Audience> audienceCollection, Object... placeholdersArgs) Parses a message to a component using custom prefix override.net.kyori.adventure.text.ComponentparseMessage(Object message, LogLevel level, LogTarget target, @Nullable Audience directAudience, @Nullable Collection<? extends Audience> audienceCollection, Object... placeholdersArgs) Parses a message to a component using current logger configuration.net.kyori.adventure.text.ComponentparseMessage(Object message, @Nullable Audience directAudience, @Nullable Collection<? extends Audience> audienceCollection, Object... placeholdersArgs) Parses a message to a component using logger pipeline without any prefix.voidreload()Reloads logger configuration from disk.String[]resolveColorsForLevel(LogLevel level, boolean forConsole) Resolves colors for the specified log level directly from the active configuration.protected voidvoidsend(LogLevel level, Object message, @Nullable Audience audience, @Nullable Collection<? extends Audience> audiences, LogTarget target, boolean broadcast, Object... placeholders) Sends a message through the logger pipeline.protected voidprotected voidprotected voidsendToConsole(LogLevel level, Object message) protected voidsendToPlayers(LogLevel level, Object message, Collection<? extends Audience> players) voidsetEscapePlaceholders(boolean escapePlaceholders) Controls whether inline{placeholder}values are escaped before MiniMessage parsing.voidsetExternalPlaceholderEngine(ExternalPlaceholderEngine externalPlaceholderEngine) Sets external placeholder engine (PlaceholderAPI, MiniPlaceholders, etc).voidsetPrefixedLoggerEnabled(String name, boolean enabled) Enables or disables a prefixed logger by name.success()Creates a SUCCESS level log builder.warn()Creates a WARN level log builder.withPrefix(String name) Creates or retrieves a prefixed logger with default bracketed prefix.withPrefix(String name, String prefix) Creates or retrieves a prefixed logger with custom prefix.Methods inherited from class dev.ua.theroer.magicutils.logger.LoggerCoreMethods
debug, debug, debug, debug, debug, debug, debug, debug, debug, debug, debug, debug, debugAll, debugAll, debugAll, debugAll, debugConsole, debugConsole, debugConsole, debugConsole, error, error, error, error, error, error, error, error, error, error, error, error, errorAll, errorAll, errorAll, errorAll, errorConsole, errorConsole, errorConsole, errorConsole, info, info, info, info, info, info, info, info, info, info, info, info, infoAll, infoAll, infoAll, infoAll, infoConsole, infoConsole, infoConsole, infoConsole, success, success, success, success, success, success, success, success, success, success, success, success, successAll, successAll, successAll, successAll, successConsole, successConsole, successConsole, successConsole, trace, trace, trace, trace, trace, trace, trace, trace, trace, trace, trace, trace, traceAll, traceAll, traceAll, traceAll, traceConsole, traceConsole, traceConsole, traceConsole, warn, warn, warn, warn, warn, warn, warn, warn, warn, warn, warn, warn, warnAll, warnAll, warnAll, warnAll, warnConsole, warnConsole, warnConsole, warnConsole
-
Constructor Details
-
LoggerCore
public LoggerCore(Platform platform, ConfigManager configManager, Object placeholderOwner, String pluginName) Create a logger core instance.- Parameters:
platform- platform adapterconfigManager- config managerplaceholderOwner- owner key for local placeholderspluginName- plugin/mod name for prefix defaults
-
-
Method Details
-
setExternalPlaceholderEngine
Sets external placeholder engine (PlaceholderAPI, MiniPlaceholders, etc).- Parameters:
externalPlaceholderEngine- engine instance
-
setEscapePlaceholders
public void setEscapePlaceholders(boolean escapePlaceholders) Controls whether inline{placeholder}values are escaped before MiniMessage parsing. Whentrue, untrusted user input cannot inject MiniMessage tags through placeholders. Whenfalse(default), placeholder values can themselves contain MiniMessage markup. Recommended:truefor chat output that may contain user-supplied data.- Parameters:
escapePlaceholders- true to escape placeholder values
-
reload
public void reload()Reloads logger configuration from disk. -
log
-
noPrefix
Creates an INFO level log builder with prefix disabled.- Returns:
- log builder
-
info
-
warn
-
error
-
debug
-
success
-
create
Creates or retrieves a prefixed logger with default prefix.- Parameters:
name- logger name- Returns:
- prefixed logger core
-
create
Creates or retrieves a prefixed logger with custom prefix.- Parameters:
name- logger nameprefix- prefix string- Returns:
- prefixed logger core
-
withPrefix
Creates or retrieves a prefixed logger with default bracketed prefix.- Parameters:
name- logger name- Returns:
- prefixed logger core
-
withPrefix
Creates or retrieves a prefixed logger with custom prefix.- Parameters:
name- logger nameprefix- prefix string- Returns:
- prefixed logger core
-
broadcast
Broadcasts a message to console and players.- Parameters:
message- message to send
-
setPrefixedLoggerEnabled
Enables or disables a prefixed logger by name.- Parameters:
name- prefixed logger nameenabled- whether logging is enabled
-
parseMessage
public net.kyori.adventure.text.Component parseMessage(Object message, LogLevel level, LogTarget target, @Nullable @Nullable Audience directAudience, @Nullable @Nullable Collection<? extends Audience> audienceCollection, Object... placeholdersArgs) Parses a message to a component using current logger configuration.- Parameters:
message- message inputlevel- log leveltarget- log targetdirectAudience- direct audienceaudienceCollection- audience collectionplaceholdersArgs- placeholder arguments- Returns:
- rendered component
-
parseMessage
public net.kyori.adventure.text.Component parseMessage(Object message, LogLevel level, LogTarget target, @Nullable @Nullable PrefixMode prefixOverride, @Nullable @Nullable Audience directAudience, @Nullable @Nullable Collection<? extends Audience> audienceCollection, Object... placeholdersArgs) Parses a message to a component using custom prefix override.- Parameters:
message- message inputlevel- log leveltarget- log targetprefixOverride- prefix overridedirectAudience- direct audienceaudienceCollection- audience collectionplaceholdersArgs- placeholder arguments- Returns:
- rendered component
-
parseMessage
public net.kyori.adventure.text.Component parseMessage(Object message, @Nullable @Nullable Audience directAudience, @Nullable @Nullable Collection<? extends Audience> audienceCollection, Object... placeholdersArgs) Parses a message to a component using logger pipeline without any prefix.- Parameters:
message- message inputdirectAudience- direct audienceaudienceCollection- audience collectionplaceholdersArgs- placeholder arguments- Returns:
- rendered component without prefix
-
send
public void send(LogLevel level, Object message, @Nullable @Nullable Audience audience, @Nullable @Nullable Collection<? extends Audience> audiences, LogTarget target, boolean broadcast, Object... placeholders) Sends a message through the logger pipeline.- Parameters:
level- log levelmessage- message inputaudience- direct audienceaudiences- audience collectiontarget- log targetbroadcast- whether to broadcastplaceholders- placeholder arguments
-
send
-
send
-
send
-
sendToConsole
-
sendToPlayers
protected void sendToPlayers(LogLevel level, Object message, Collection<? extends Audience> players) - Specified by:
sendToPlayersin classdev.ua.theroer.magicutils.logger.LoggerCoreMethods
-
resolveColorsForLevel
Resolves colors for the specified log level directly from the active configuration. Falls back to built-in defaults if the configuration isn't available yet.- Parameters:
level- log level being renderedforConsole- true to use console palette, false for chat palette- Returns:
- array of colors representing a gradient for the given level/target
-
getChatPrefixMode
Returns the chat prefix mode from the active configuration.- Returns:
- chat prefix mode
-
getConsolePrefixMode
Returns the console prefix mode from the active configuration.- Returns:
- console prefix mode
-
getCustomPrefix
Returns the custom prefix text from the active configuration.- Returns:
- custom prefix string
-
getDefaultTarget
Returns the default log target from the active configuration.- Returns:
- default log target
-
isLevelEnabled
Returns whether a log level is enabled for the default target.- Parameters:
level- log level to check- Returns:
- true when formatting and delivery should proceed
-
isLevelEnabled
-
isConsoleStripFormatting
public boolean isConsoleStripFormatting()Returns whether console formatting should be stripped from messages.- Returns:
- true if console formatting is stripped
-
isConsoleUseGradient
public boolean isConsoleUseGradient()Returns whether console messages should use gradient coloring.- Returns:
- true if console gradient is enabled
-