Refactored the logging
Using LogManager instead of FMLRelaunchLog to access the logger instance. Added logging of the name of failed exports instead of exception. Improved crafting log to include issuer including their location and the requested item. Removed superfluous FMLRelaunchLog instance. Removed superfluous parameters for PlayerData constructor.
This commit is contained in:
@@ -19,9 +19,12 @@
|
||||
package appeng.core;
|
||||
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
import org.apache.logging.log4j.Level;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.apache.logging.log4j.message.ParameterizedMessage;
|
||||
|
||||
import net.minecraft.util.BlockPos;
|
||||
|
||||
@@ -32,89 +35,354 @@ import appeng.util.Platform;
|
||||
|
||||
public final class AELog
|
||||
{
|
||||
private static final Logger SERVER = LogManager.getFormatterLogger( "AE2:S" );
|
||||
private static final Logger CLIENT = LogManager.getFormatterLogger( "AE2:C" );
|
||||
private static final String LOGGER_PREFIX = "AE2:";
|
||||
private static final String SERVER_SUFFIX = "S";
|
||||
private static final String CLIENT_SUFFIX = "C";
|
||||
|
||||
private static final Logger SERVER = LogManager.getFormatterLogger( LOGGER_PREFIX + SERVER_SUFFIX );
|
||||
private static final Logger CLIENT = LogManager.getFormatterLogger( LOGGER_PREFIX + CLIENT_SUFFIX );
|
||||
|
||||
private static final String BLOCK_UPDATE = "Block Update of %s @ ( %s )";
|
||||
|
||||
private static final String DEFAULT_EXCEPTION_MESSAGE = "Exception: ";
|
||||
|
||||
private AELog()
|
||||
{
|
||||
}
|
||||
|
||||
public static void warning( final String format, final Object... data )
|
||||
/**
|
||||
* Returns a {@link Logger} logger suitable for the effective side (client/server).
|
||||
*
|
||||
* @return a suitable logger instance
|
||||
*/
|
||||
private static Logger getLogger()
|
||||
{
|
||||
log( Level.WARN, format, data );
|
||||
return Platform.isServer() ? SERVER : CLIENT;
|
||||
}
|
||||
|
||||
private static void log( final Level level, final String format, final Object... data )
|
||||
/**
|
||||
* Indicates of the global log is enabled or disabled.
|
||||
*
|
||||
* By default it is enabled.
|
||||
*
|
||||
* @return true when the log is enabled.
|
||||
*/
|
||||
public static boolean isLogEnabled()
|
||||
{
|
||||
if( AEConfig.instance == null || AEConfig.instance.isFeatureEnabled( AEFeature.Logging ) )
|
||||
return AEConfig.instance == null || AEConfig.instance.isFeatureEnabled( AEFeature.Logging );
|
||||
}
|
||||
|
||||
/**
|
||||
* Logs a formatted message with a specific log level.
|
||||
*
|
||||
* This uses {@link String#format(String, Object...)} as opposed to the {@link ParameterizedMessage} to allow a more
|
||||
* flexible formatting.
|
||||
*
|
||||
* The output can be globally disabled via the configuration file.
|
||||
*
|
||||
* @param level the intended level.
|
||||
* @param message the message to be formatted.
|
||||
* @param params the parameters used for {@link String#format(String, Object...)}.
|
||||
*/
|
||||
public static void log( @Nonnull final Level level, @Nonnull final String message, final Object... params )
|
||||
{
|
||||
if( AELog.isLogEnabled() )
|
||||
{
|
||||
if( Platform.isServer() )
|
||||
{
|
||||
SERVER.log( level, format, data );
|
||||
}
|
||||
else
|
||||
{
|
||||
CLIENT.log( level, format, data );
|
||||
}
|
||||
final String formattedMessage = String.format( message, params );
|
||||
final Logger logger = getLogger();
|
||||
|
||||
logger.log( level, formattedMessage );
|
||||
}
|
||||
}
|
||||
|
||||
public static void grinder( final String o )
|
||||
/**
|
||||
* Log an exception with a custom message formated via {@link String#format(String, Object...)}
|
||||
*
|
||||
* Similar to {@link AELog#log(Level, String, Object...)}.
|
||||
*
|
||||
* @see AELog#log(Level, String, Object...)
|
||||
*
|
||||
* @param level the intended level.
|
||||
* @param exception
|
||||
* @param message the message to be formatted.
|
||||
* @param params the parameters used for {@link String#format(String, Object...)}.
|
||||
*/
|
||||
public static void log( @Nonnull final Level level, @Nonnull final Throwable exception, @Nonnull String message, final Object... params )
|
||||
{
|
||||
if( AEConfig.instance.isFeatureEnabled( AEFeature.GrinderLogging ) )
|
||||
if( AELog.isLogEnabled() )
|
||||
{
|
||||
log( Level.DEBUG, "grinder: " + o );
|
||||
final String formattedMessage = String.format( message, params );
|
||||
final Logger logger = getLogger();
|
||||
|
||||
logger.log( level, formattedMessage, exception );
|
||||
}
|
||||
}
|
||||
|
||||
public static void integration( final Throwable exception )
|
||||
/**
|
||||
* @see AELog#log(Level, String, Object...)
|
||||
* @param format
|
||||
* @param params
|
||||
*/
|
||||
public static void info( @Nonnull final String format, final Object... params )
|
||||
{
|
||||
if( AEConfig.instance.isFeatureEnabled( AEFeature.IntegrationLogging ) )
|
||||
{
|
||||
error( exception );
|
||||
}
|
||||
log( Level.INFO, format, params );
|
||||
}
|
||||
|
||||
public static void error( final Throwable e )
|
||||
/**
|
||||
* Log exception as {@link Level#INFO}
|
||||
*
|
||||
* @see AELog#log(Level, Throwable, String, Object...)
|
||||
*
|
||||
* @param exception
|
||||
*/
|
||||
public static void info( @Nonnull final Throwable exception )
|
||||
{
|
||||
if( AEConfig.instance.isFeatureEnabled( AEFeature.Logging ) )
|
||||
{
|
||||
severe( "Error: " + e.getClass().getName() + " : " + e.getMessage() );
|
||||
e.printStackTrace();
|
||||
}
|
||||
log( Level.INFO, exception, DEFAULT_EXCEPTION_MESSAGE );
|
||||
}
|
||||
|
||||
public static void severe( final String format, final Object... data )
|
||||
/**
|
||||
* Log exception as {@link Level#INFO}
|
||||
*
|
||||
* @see AELog#log(Level, Throwable, String, Object...)
|
||||
*
|
||||
* @param exception
|
||||
* @param message
|
||||
*/
|
||||
public static void info( @Nonnull final Throwable exception, @Nonnull final String message )
|
||||
{
|
||||
log( Level.ERROR, format, data );
|
||||
log( Level.INFO, exception, message );
|
||||
}
|
||||
|
||||
public static void blockUpdate( final BlockPos pos, final AEBaseTile aeBaseTile )
|
||||
/**
|
||||
* @see AELog#log(Level, String, Object...)
|
||||
* @param format
|
||||
* @param params
|
||||
*/
|
||||
public static void warn( @Nonnull final String format, final Object... params )
|
||||
{
|
||||
if( AEConfig.instance.isFeatureEnabled( AEFeature.UpdateLogging ) )
|
||||
{
|
||||
info( aeBaseTile.getClass().getName() + " @ " + pos );
|
||||
}
|
||||
log( Level.WARN, format, params );
|
||||
}
|
||||
|
||||
public static void info( final String format, final Object... data )
|
||||
/**
|
||||
* Log exception as {@link Level#WARN}
|
||||
*
|
||||
* @see AELog#log(Level, Throwable, String, Object...)
|
||||
*
|
||||
* @param exception
|
||||
*/
|
||||
public static void warn( @Nonnull final Throwable exception )
|
||||
{
|
||||
log( Level.INFO, format, data );
|
||||
log( Level.WARN, exception, DEFAULT_EXCEPTION_MESSAGE );
|
||||
}
|
||||
|
||||
public static void crafting( final String format, final Object... data )
|
||||
/**
|
||||
* Log exception as {@link Level#WARN}
|
||||
*
|
||||
* @see AELog#log(Level, Throwable, String, Object...)
|
||||
*
|
||||
* @param exception
|
||||
* @param message
|
||||
*/
|
||||
public static void warn( @Nonnull final Throwable exception, @Nonnull final String message )
|
||||
{
|
||||
if( AEConfig.instance.isFeatureEnabled( AEFeature.CraftingLog ) )
|
||||
{
|
||||
log( Level.INFO, format, data );
|
||||
}
|
||||
log( Level.WARN, exception, message );
|
||||
}
|
||||
|
||||
public static void debug( final String format, final Object... data )
|
||||
/**
|
||||
* @see AELog#log(Level, String, Object...)
|
||||
* @param format
|
||||
* @param params
|
||||
*/
|
||||
public static void error( @Nonnull final String format, final Object... params )
|
||||
{
|
||||
if( AEConfig.instance.isFeatureEnabled( AEFeature.DebugLogging ) )
|
||||
log( Level.ERROR, format, params );
|
||||
}
|
||||
|
||||
/**
|
||||
* Log exception as {@link Level#ERROR}
|
||||
*
|
||||
* @see AELog#log(Level, Throwable, String, Object...)
|
||||
*
|
||||
* @param exception
|
||||
*/
|
||||
public static void error( @Nonnull final Throwable exception )
|
||||
{
|
||||
log( Level.ERROR, exception, DEFAULT_EXCEPTION_MESSAGE );
|
||||
}
|
||||
|
||||
/**
|
||||
* Log exception as {@link Level#ERROR}
|
||||
*
|
||||
* @see AELog#log(Level, Throwable, String, Object...)
|
||||
*
|
||||
* @param exception
|
||||
* @param message
|
||||
*/
|
||||
public static void error( @Nonnull final Throwable exception, @Nonnull final String message )
|
||||
{
|
||||
log( Level.ERROR, exception, message );
|
||||
}
|
||||
|
||||
/**
|
||||
* Log message as {@link Level#DEBUG}
|
||||
*
|
||||
* @see AELog#log(Level, String, Object...)
|
||||
* @param format
|
||||
* @param data
|
||||
*/
|
||||
public static void debug( @Nonnull final String format, final Object... data )
|
||||
{
|
||||
if( AELog.isDebugLogEnabled() )
|
||||
{
|
||||
log( Level.DEBUG, format, data );
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Log exception as {@link Level#DEBUG}
|
||||
*
|
||||
* @see AELog#log(Level, Throwable, String, Object...)
|
||||
*
|
||||
* @param exception
|
||||
*/
|
||||
public static void debug( @Nonnull final Throwable exception )
|
||||
{
|
||||
if( AELog.isDebugLogEnabled() )
|
||||
{
|
||||
log( Level.DEBUG, exception, DEFAULT_EXCEPTION_MESSAGE );
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Log exception as {@link Level#DEBUG}
|
||||
*
|
||||
* @see AELog#log(Level, Throwable, String, Object...)
|
||||
*
|
||||
* @param exception
|
||||
* @param message
|
||||
*/
|
||||
public static void debug( @Nonnull final Throwable exception, @Nonnull final String message )
|
||||
{
|
||||
if( AELog.isDebugLogEnabled() )
|
||||
{
|
||||
log( Level.DEBUG, exception, message );
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Use to check for an enabled debug log.
|
||||
*
|
||||
* Can be used to prevent the execution of debug logic.
|
||||
*
|
||||
* @return true when the debug log is enabled.
|
||||
*/
|
||||
public static boolean isDebugLogEnabled()
|
||||
{
|
||||
return AEConfig.instance.isFeatureEnabled( AEFeature.DebugLogging );
|
||||
}
|
||||
|
||||
//
|
||||
// Specialized handlers
|
||||
//
|
||||
|
||||
/**
|
||||
* A specialized logging for grinder recipes, can be disabled inside configuration file.
|
||||
*
|
||||
* @param message String to be logged
|
||||
*/
|
||||
public static void grinder( @Nonnull final String message )
|
||||
{
|
||||
if( AEConfig.instance.isFeatureEnabled( AEFeature.GrinderLogging ) )
|
||||
{
|
||||
log( Level.DEBUG, "grinder: " + message );
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* A specialized logging for mod integration errors, can be disabled inside configuration file.
|
||||
*
|
||||
* @param exception
|
||||
*/
|
||||
public static void integration( @Nonnull final Throwable exception )
|
||||
{
|
||||
if( AEConfig.instance.isFeatureEnabled( AEFeature.IntegrationLogging ) )
|
||||
{
|
||||
debug( exception );
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Logging of block updates.
|
||||
*
|
||||
* Off by default, can be enabled inside the configuration file.
|
||||
*
|
||||
* @see AELog#log(Level, String, Object...)
|
||||
* @param pos
|
||||
* @param aeBaseTile
|
||||
*/
|
||||
public static void blockUpdate( @Nonnull final BlockPos pos, @Nonnull final AEBaseTile aeBaseTile )
|
||||
{
|
||||
if( AEConfig.instance.isFeatureEnabled( AEFeature.UpdateLogging ) )
|
||||
{
|
||||
info( BLOCK_UPDATE, aeBaseTile.getClass().getName(), pos );
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Use to check for an enabled crafting log.
|
||||
*
|
||||
* Can be used to prevent the execution of unneeded logic.
|
||||
*
|
||||
* @return true when the crafting log is enabled.
|
||||
*/
|
||||
public static boolean isCraftingLogEnabled()
|
||||
{
|
||||
return AEConfig.instance.isFeatureEnabled( AEFeature.CraftingLog );
|
||||
}
|
||||
|
||||
/**
|
||||
* Logging for autocrafting.
|
||||
*
|
||||
* Off by default, can be enabled inside the configuration file.
|
||||
*
|
||||
* @see AELog#log(Level, String, Object...)
|
||||
* @param message
|
||||
* @param params
|
||||
*/
|
||||
public static void crafting( @Nonnull final String message, final Object... params )
|
||||
{
|
||||
if( AELog.isCraftingLogEnabled() )
|
||||
{
|
||||
log( Level.INFO, message, params );
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Use to check for an enabled crafting debug log.
|
||||
*
|
||||
* Can be used to prevent the execution of unneeded logic.
|
||||
*
|
||||
* @return true when the crafting debug log is enabled.
|
||||
*/
|
||||
public static boolean isCraftingDebugLogEnabled()
|
||||
{
|
||||
return AEConfig.instance.isFeatureEnabled( AEFeature.CraftingLog ) && AEConfig.instance.isFeatureEnabled( AEFeature.DebugLogging );
|
||||
}
|
||||
|
||||
/**
|
||||
* Debug logging for autocrafting.
|
||||
*
|
||||
* Off by default, can be enabled inside the configuration file.
|
||||
*
|
||||
* @see AELog#log(Level, String, Object...)
|
||||
* @param message
|
||||
* @param params
|
||||
*/
|
||||
public static void craftingDebug( @Nonnull final String message, final Object... params )
|
||||
{
|
||||
if( AELog.isCraftingDebugLogEnabled() )
|
||||
{
|
||||
log( Level.DEBUG, message, params );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -96,8 +96,8 @@ public class IMCHandler
|
||||
}
|
||||
catch( final Exception t )
|
||||
{
|
||||
AELog.warning( "Problem detected when processing IMC " + key + " from " + message.getSender() );
|
||||
AELog.error( t );
|
||||
AELog.warn( "Problem detected when processing IMC " + key + " from " + message.getSender() );
|
||||
AELog.debug( t );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -101,12 +101,12 @@ public class RecipeLoader implements Runnable
|
||||
// on failure use jar parsing
|
||||
catch( final IOException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
this.handler.parseRecipes( new JarLoader( ASSETS_RECIPE_PATH ), "index.recipe" );
|
||||
}
|
||||
catch( final URISyntaxException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
this.handler.parseRecipes( new JarLoader( ASSETS_RECIPE_PATH ), "index.recipe" );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -109,7 +109,7 @@ public class ApiPart implements IPartHelper
|
||||
}
|
||||
catch( final ClassNotFoundException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
Class myCLass;
|
||||
|
||||
@@ -134,8 +134,8 @@ public class ApiPart implements IPartHelper
|
||||
}
|
||||
catch( final Throwable t )
|
||||
{
|
||||
AELog.warning( "Error loading " + name );
|
||||
AELog.error( t );
|
||||
AELog.warn( "Error loading " + name );
|
||||
AELog.debug( t );
|
||||
// throw new RuntimeException( t );
|
||||
}
|
||||
f = myCLass.getName();
|
||||
@@ -164,7 +164,7 @@ public class ApiPart implements IPartHelper
|
||||
}
|
||||
catch( final Throwable t )
|
||||
{
|
||||
AELog.error( t );
|
||||
AELog.debug( t );
|
||||
}
|
||||
|
||||
for( final MethodNode mn : n.methods )
|
||||
@@ -197,13 +197,13 @@ public class ApiPart implements IPartHelper
|
||||
if( !rootC.isInstance( fish ) )
|
||||
{
|
||||
hasError = true;
|
||||
AELog.severe( "Error, Expected layer to implement " + root + " did not." );
|
||||
AELog.error( "Error, Expected layer to implement " + root + " did not." );
|
||||
}
|
||||
|
||||
if( fish instanceof LayerBase )
|
||||
{
|
||||
hasError = true;
|
||||
AELog.severe( "Error, Expected layer to NOT implement LayerBase but it DID." );
|
||||
AELog.error( "Error, Expected layer to NOT implement LayerBase but it DID." );
|
||||
}
|
||||
|
||||
if( !fullPath.contains( ".fmp." ) )
|
||||
@@ -211,13 +211,13 @@ public class ApiPart implements IPartHelper
|
||||
if( !( fish instanceof TileCableBus ) )
|
||||
{
|
||||
hasError = true;
|
||||
AELog.severe( "Error, Expected layer to implement TileCableBus did not." );
|
||||
AELog.error( "Error, Expected layer to implement TileCableBus did not." );
|
||||
}
|
||||
|
||||
if( !( fish instanceof TileEntity ) )
|
||||
{
|
||||
hasError = true;
|
||||
AELog.severe( "Error, Expected layer to implement TileEntity did not." );
|
||||
AELog.error( "Error, Expected layer to implement TileEntity did not." );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -228,8 +228,8 @@ public class ApiPart implements IPartHelper
|
||||
}
|
||||
catch( final Throwable t )
|
||||
{
|
||||
AELog.severe( "Layer: " + n.name + " Failed." );
|
||||
AELog.error( t );
|
||||
AELog.error( "Layer: " + n.name + " Failed." );
|
||||
AELog.debug( t );
|
||||
}
|
||||
|
||||
this.roots.put( fullPath, clazz );
|
||||
@@ -297,7 +297,7 @@ public class ApiPart implements IPartHelper
|
||||
}
|
||||
catch( final Exception e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
throw new IllegalStateException( "Unable to manage part API.", e );
|
||||
}
|
||||
return clazz;
|
||||
|
||||
@@ -61,22 +61,22 @@ public final class GridCacheRegistry implements IGridCacheRegistry
|
||||
}
|
||||
catch( final NoSuchMethodException e )
|
||||
{
|
||||
AELog.severe( "Grid Caches must have a constructor with IGrid as the single param." );
|
||||
AELog.error( "Grid Caches must have a constructor with IGrid as the single param." );
|
||||
throw new IllegalArgumentException( e );
|
||||
}
|
||||
catch( final InvocationTargetException e )
|
||||
{
|
||||
AELog.severe( "Grid Caches must have a constructor with IGrid as the single param." );
|
||||
AELog.error( "Grid Caches must have a constructor with IGrid as the single param." );
|
||||
throw new IllegalStateException( e );
|
||||
}
|
||||
catch( final InstantiationException e )
|
||||
{
|
||||
AELog.severe( "Grid Caches must have a constructor with IGrid as the single param." );
|
||||
AELog.error( "Grid Caches must have a constructor with IGrid as the single param." );
|
||||
throw new IllegalStateException( e );
|
||||
}
|
||||
catch( final IllegalAccessException e )
|
||||
{
|
||||
AELog.severe( "Grid Caches must have a constructor with IGrid as the single param." );
|
||||
AELog.error( "Grid Caches must have a constructor with IGrid as the single param." );
|
||||
throw new IllegalStateException( e );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -73,8 +73,8 @@ public class RecipeHandlerRegistry implements IRecipeHandlerRegistry
|
||||
}
|
||||
catch( final Throwable e )
|
||||
{
|
||||
AELog.severe( "Error Caused when trying to construct " + clz.getName() );
|
||||
AELog.error( e );
|
||||
AELog.error( "Error Caused when trying to construct " + clz.getName() );
|
||||
AELog.debug( e );
|
||||
|
||||
this.handlers.put( name, null ); // clear it..
|
||||
|
||||
@@ -102,7 +102,7 @@ public class RecipeHandlerRegistry implements IRecipeHandlerRegistry
|
||||
}
|
||||
catch( final Throwable t )
|
||||
{
|
||||
AELog.error( t );
|
||||
AELog.debug( t );
|
||||
}
|
||||
|
||||
if( rr != null )
|
||||
|
||||
@@ -63,19 +63,19 @@ public class AppEngClientPacketHandler extends AppEngPacketHandlerBase implement
|
||||
}
|
||||
catch( final InstantiationException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
catch( final IllegalAccessException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
catch( final IllegalArgumentException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
catch( final InvocationTargetException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -63,19 +63,19 @@ public final class AppEngServerPacketHandler extends AppEngPacketHandlerBase imp
|
||||
}
|
||||
catch( final InstantiationException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
catch( final IllegalAccessException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
catch( final IllegalArgumentException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
catch( final InvocationTargetException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -121,7 +121,7 @@ public class PacketCraftRequest extends AppEngPacket
|
||||
{
|
||||
futureJob.cancel( true );
|
||||
}
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -183,7 +183,7 @@ public class PacketMEInventoryUpdate extends AppEngPacket
|
||||
}
|
||||
catch( final IOException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
|
||||
return null;
|
||||
|
||||
@@ -75,7 +75,7 @@ class PlayerMappingsInitializer
|
||||
}
|
||||
else
|
||||
{
|
||||
AELog.warning( "The configuration for players contained an outdated entry instead an expected UUID " + maybeUUID + " for the player " + id + ". Please clean this up." );
|
||||
AELog.warn( "The configuration for players contained an outdated entry instead an expected UUID " + maybeUUID + " for the player " + id + ". Please clean this up." );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -153,7 +153,7 @@ final class SpawnData implements IWorldSpawnData
|
||||
catch( final Throwable e )
|
||||
{
|
||||
data = new NBTTagCompound();
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
finally
|
||||
{
|
||||
@@ -165,7 +165,7 @@ final class SpawnData implements IWorldSpawnData
|
||||
}
|
||||
catch( final IOException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -196,7 +196,7 @@ final class SpawnData implements IWorldSpawnData
|
||||
}
|
||||
catch( final Throwable e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
finally
|
||||
{
|
||||
@@ -208,7 +208,7 @@ final class SpawnData implements IWorldSpawnData
|
||||
}
|
||||
catch( final IOException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -140,7 +140,7 @@ final class StorageData implements IWorldGridStorageData, IOnWorldStartable, IOn
|
||||
}
|
||||
catch( final NumberFormatException err )
|
||||
{
|
||||
AELog.warning( "The config contained a value which was not represented as a Long: %s", lastString );
|
||||
AELog.warn( "The config contained a value which was not represented as a Long: %s", lastString );
|
||||
|
||||
this.lastGridStorage = 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user