public final class AgentLogger extends Logger
| Modifier and Type | Field and Description |
|---|---|
static Formatter |
AGENT_FILE_FORMATTER
Defines the default file formatter as : LOG_LEVEL : message
|
static Formatter |
AGENT_FORMATTER
Defines the default formatter as : [agent's name] LOG_LEVEL : message
|
global, GLOBAL_LOGGER_NAME| Modifier and Type | Method and Description |
|---|---|
void |
addFileHandler(Path logDirectory,
String fileName,
boolean append,
boolean includeDefaultComment)
Adds a new
FileHandler to this logger. |
void |
addHandler(Handler handler) |
void |
createLogFile()
Creates a default log file for this logger.
|
static void |
createLogFiles()
Create a log file for each agent having a non
null logger. |
void |
disableCGRWarnings()
Disables the logging of
Level.WARNING messages related with failed
queries over the artificial society. |
void |
doNotReactToDebugMode()
Prevents this logger to change its level when
setAllLoggersAtLevelAll() or setAllLogLevels(Level) are
used. |
void |
enableCGRWarnings()
Enables the logging of
Level.WARNING messages related with failed
queries over the artificial society. |
BooleanAction |
getEnableCGRWarningsAction() |
Level |
getWarningLogLevel()
Deprecated.
as of MaDKit 5.2, replaced by
enableCGRWarnings() |
boolean |
isCGRWarningsOn()
Tells if CGR warnings (Community, Group, Role) are enabled.
|
boolean |
isLoggable(Level level)
Check if a message of the given level would actually be logged by this
logger.
|
void |
log(LogRecord record) |
static void |
resetAllLoggersToDefaultLevel()
reset all loggers to the level specified by
Madkit.LevelOption.agentLogLevel |
static void |
setAllLoggersAtLevelAll()
A convenient way of activating a debug session
|
static void |
setAllLogLevels(Level level)
Set all the agents' loggers to the specified level
|
void |
setLevel(Level newLevel)
Set the log level for the corresponding agent.
|
void |
setWarningLogLevel(Level warningLogLevel)
Deprecated.
as of MaDKit 5.2, replaced by
enableCGRWarnings() |
void |
severeLog(String message)
This call bypasses any settings and always produces severe log messages
whatever the logger's current level.
|
void |
severeLog(String message,
Throwable t)
This call bypasses any settings and always produces severe log messages
displaying the stack trace of the throwable if it is not
null |
void |
talk(String msg)
Logs a
TALK message. |
String |
toString() |
config, config, entering, entering, entering, exiting, exiting, fine, fine, finer, finer, finest, finest, getAnonymousLogger, getAnonymousLogger, getFilter, getGlobal, getHandlers, getLevel, getLogger, getLogger, getName, getParent, getResourceBundle, getResourceBundleName, getUseParentHandlers, info, info, log, log, log, log, log, log, logp, logp, logp, logp, logp, logp, logrb, logrb, logrb, logrb, logrb, logrb, removeHandler, setFilter, setParent, setResourceBundle, setUseParentHandlers, severe, severe, throwing, warning, warningpublic static final Formatter AGENT_FORMATTER
public static final Formatter AGENT_FILE_FORMATTER
public void setLevel(Level newLevel)
newLevel is
Level.ALL then enableCGRWarnings() is automatically
triggered.public void doNotReactToDebugMode()
setAllLoggersAtLevelAll() or setAllLogLevels(Level) are
used.public boolean isCGRWarningsOn()
true if CGR warnings are enabled for this loggerenableCGRWarnings()public void enableCGRWarnings()
Level.WARNING messages related with failed
queries over the artificial society. For instance, if an agent tries to get
agent addresses using
AbstractAgent.getAgentsWithRole(String, String, String) over a CGR
location which does not exist then there will be a warning about that. Since
such results could be obtained by agents on purpose, this method provides a
convenient way of enabling these kind of traces as will.public void disableCGRWarnings()
Level.WARNING messages related with failed
queries over the artificial society.enableCGRWarnings()public BooleanAction getEnableCGRWarningsAction()
Action for building UI with this featurepublic void createLogFile()
addLogFile(null, null, false, true) This file will be located in
the directory specified by the MaDKit property Madkit.Option.logDirectory,
which is set to "logs" by default.public void addFileHandler(Path logDirectory, String fileName, boolean append, boolean includeDefaultComment)
FileHandler to this logger. This method provides an easy
way of creating a new file handler with an agent formatting and with a
corresponding file located in a specified directory. The related file will be
located in the directory specified by the MaDKit property
Madkit.Option.logDirectory, which is set to "logs" followed by a directory
named according to the date of the run.logDirectory - the logDirectory to be used may be null,
in which case the file will be located in the
directory specified by the MaDKit property
Madkit.Option.logDirectory which is set to
"logs" by default.fileName - may be null, in which case
Logger.getName() is usedappend - if true, then bytes will be written
to the end of the file rather than the beginningincludeDefaultComment - if true, includes comments
displaying creation and closing datesFileHandlerpublic void addHandler(Handler handler)
addHandler in class Loggerpublic void talk(String msg)
TALK message. This uses a special level which could be used
to produce messages that will be rendered as they are, without any formatting
work nor end-of-line character.
If the logger's level is not Level.OFF then the given message is
forwarded to all the registered output Handler objects.
If the logger's level is Level.OFF then the message is only printed
to System.out
msg - The string messagepublic boolean isLoggable(Level level)
isLoggable in class Loggerlevel - a message logging levelpublic void severeLog(String message, Throwable t)
nullmessage - the message to displayt - the related exception if any. It can be nullpublic void severeLog(String message)
message - the message to displaypublic static void setAllLogLevels(Level level)
level - the new levelpublic static void setAllLoggersAtLevelAll()
public static void resetAllLoggersToDefaultLevel()
Madkit.LevelOption.agentLogLevelpublic static void createLogFiles()
null logger.createLogFile()@Deprecated public Level getWarningLogLevel()
enableCGRWarnings()@Deprecated public void setWarningLogLevel(Level warningLogLevel)
enableCGRWarnings()
Fabien Michel, Olivier Gutknecht, Jacques Ferber - November 30 2021