public abstract class AbstractAgentLogger extends Object implements IAgentLogger
2) this may prove crucial for your debugging to have own logger for planner and another for emotions of your agents, etc.
Simply - every Agent instance (starting with the first abstract class AbstractAgent) has instance of this class (which is java.logging.Logger(s) wrapper).
Every agent's component has own LogCategory and you may obtain your own via getCategory() method.
LogCategory serves as a gateway for your log messages, it contains methods as you
know them from java.logging API (things like fine(), info(), severe(), log(Level, msg), etc.).
Plus it allows you to obtain new LogHandler instances for that category (if you need to
publish log messages from that category somewhere else).
Every LogHandler serves for filtering messages for one category and publishing them
into one end (console, file, memory, whatever...).
Additionally every LogCategory has AgentLogger as its parent.
| Modifier and Type | Field and Description |
|---|---|
protected IAgentId |
agentId |
static String |
LOG_CATEGORY_NAME |
| Constructor and Description |
|---|
AbstractAgentLogger(IAgentId agentName) |
| Modifier and Type | Method and Description |
|---|---|
void |
addDefaultConsoleHandler()
Adds console handler to every existing
LogCategory plus to every new one. |
Handler |
addDefaultFileHandler(File file)
Adds console handler to every existing
LogCategory plus to every new one. |
void |
addDefaultHandler(Handler handler)
Adds handler to every existing
LogCategory plus to every new one. |
void |
addDefaultNetworkHandler()
Adds network handler to every existing
LogCategory plus to every new one. |
Handler |
addDefaultPublisher(ILogPublisher publisher)
Adds publisher to every existing
LogCategory plus to every new one. |
void |
addToAllCategories(Handler handler)
Adds new handler to all categories.
|
void |
addToAllCategories(ILogPublisher logPublisher)
Adds new publisher to all categories.
|
IAgentId |
getAgentId()
Returns agent name.
|
Map<String,LogCategory> |
getCategories()
Return immutable map of all log categories.
|
LogCategory |
getCategory(IComponent component)
Returns LogCategory for specified
IComponent. |
LogCategory |
getCategory(String name)
Returns LogCategory for specified name.
|
Handler |
getDefaultConsoleHandler()
Returns
Handler that provides console publishing of all logs. |
Handler |
getDefaultNetworkHandler()
Returns
Handler that provides publishing of all logs through NetworkLogPublisher. |
protected abstract ILogCategories |
getLogCategories() |
String |
getNetworkLoggerHost()
Returns a host where
NetworkLogManager is listening. |
Integer |
getNetworkLoggerPort()
Returns port where
NetworkLogManager is listening. |
boolean |
isDefaultConsoleHandler()
Tells whether the logger has default console handler attached.
|
boolean |
isDefaultNetworkHandler()
Tells whether the logger has default network handler attached.
|
void |
removeDefaultConsoleHandler()
Removes default console handler from every existing
LogCategory. |
void |
removeDefaultHandler(Handler handler)
Removes default handler from all existing
LogCategory. |
void |
removeDefaultNetworkHandler()
Removes default network handler from every existing
LogCategory. |
void |
removeFromAllCategories(Handler handler)
Removes a handler from all categories.
|
void |
setLevel(Level newLevel)
Set level for all handlers of all categories.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitenableJMXpublic static final String LOG_CATEGORY_NAME
protected IAgentId agentId
@Inject public AbstractAgentLogger(IAgentId agentName)
public IAgentId getAgentId()
IAgentLoggergetAgentId in interface IAgentLoggerpublic Integer getNetworkLoggerPort()
IAgentLoggerNetworkLogManager is listening.
Returns null if network logging is not enabled.
getNetworkLoggerPort in interface IAgentLoggergetNetworkLoggerPort in interface IJMXAgentLoggerpublic String getNetworkLoggerHost()
IAgentLoggerNetworkLogManager is listening.
Returns null if network logging is not enabled.
getNetworkLoggerHost in interface IAgentLoggergetNetworkLoggerHost in interface IJMXAgentLoggerpublic Map<String,LogCategory> getCategories()
IAgentLoggerDoes not contain agent logger itself.
getCategories in interface IAgentLoggerprotected abstract ILogCategories getLogCategories()
public LogCategory getCategory(String name)
IAgentLoggergetCategory in interface IAgentLoggerpublic LogCategory getCategory(IComponent component)
IAgentLoggerIComponent.getCategory in interface IAgentLoggerpublic void setLevel(Level newLevel)
IAgentLoggersetLevel in interface IAgentLoggerpublic void addDefaultConsoleHandler()
IAgentLoggerLogCategory plus to every new one.
Shortcut for quick usage.
addDefaultConsoleHandler in interface IAgentLoggerpublic Handler getDefaultConsoleHandler()
IAgentLoggerHandler that provides console publishing of all logs.
May return null in case that console logging is not enabled on the logger, i.e., you have to call
IAgentLogger.addDefaultConsoleHandler().
getDefaultConsoleHandler in interface IAgentLoggerpublic void removeDefaultConsoleHandler()
IAgentLoggerLogCategory.removeDefaultConsoleHandler in interface IAgentLoggerpublic boolean isDefaultConsoleHandler()
IAgentLoggerisDefaultConsoleHandler in interface IAgentLoggerpublic void addDefaultNetworkHandler()
IAgentLoggerLogCategory plus to every new one.
Enables utilization of NetworkLogManager for publishing all logs of this logger.
addDefaultNetworkHandler in interface IAgentLoggeraddDefaultNetworkHandler in interface IJMXAgentLoggerpublic Handler getDefaultNetworkHandler()
IAgentLoggerHandler that provides publishing of all logs through NetworkLogPublisher.
May return null in case that network logging is not enabled on the logger, i.e., you have to call
IAgentLogger.addDefaultNetworkHandler().
getDefaultNetworkHandler in interface IAgentLoggerpublic void removeDefaultNetworkHandler()
IAgentLoggerLogCategory.
Note that this method is automatically called whenever the AbstractAgent is stopped/killed.
removeDefaultNetworkHandler in interface IAgentLoggerremoveDefaultNetworkHandler in interface IJMXAgentLoggerpublic boolean isDefaultNetworkHandler()
IAgentLogger
It allows you to query whether the agent logger is outputting its logs to the NetworkLogManager
or not.
isDefaultNetworkHandler in interface IAgentLoggerisDefaultNetworkHandler in interface IJMXAgentLoggerpublic Handler addDefaultFileHandler(File file)
IAgentLoggerLogCategory plus to every new one.
Shortcut for quick usage.
addDefaultFileHandler in interface IAgentLoggerpublic Handler addDefaultPublisher(ILogPublisher publisher)
IAgentLoggerLogCategory plus to every new one.addDefaultPublisher in interface IAgentLoggerpublic void addDefaultHandler(Handler handler)
IAgentLoggerLogCategory plus to every new one.addDefaultHandler in interface IAgentLoggerpublic void removeDefaultHandler(Handler handler)
IAgentLoggerLogCategory.removeDefaultHandler in interface IAgentLoggerpublic void addToAllCategories(ILogPublisher logPublisher)
IAgentLoggeraddToAllCategories in interface IAgentLoggerpublic void addToAllCategories(Handler handler)
IAgentLoggeraddToAllCategories in interface IAgentLoggerpublic void removeFromAllCategories(Handler handler)
IAgentLoggerremoveFromAllCategories in interface IAgentLoggerCopyright © 2012 AMIS research group, Faculty of Mathematics and Physics, Charles University in Prague, Czech Republic. All Rights Reserved.