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, wait
enableJMX
public static final String LOG_CATEGORY_NAME
protected IAgentId agentId
@Inject public AbstractAgentLogger(IAgentId agentName)
public IAgentId getAgentId()
IAgentLogger
getAgentId
in interface IAgentLogger
public Integer getNetworkLoggerPort()
IAgentLogger
NetworkLogManager
is listening.
Returns null if network logging is not enabled.
getNetworkLoggerPort
in interface IAgentLogger
getNetworkLoggerPort
in interface IJMXAgentLogger
public String getNetworkLoggerHost()
IAgentLogger
NetworkLogManager
is listening.
Returns null if network logging is not enabled.
getNetworkLoggerHost
in interface IAgentLogger
getNetworkLoggerHost
in interface IJMXAgentLogger
public Map<String,LogCategory> getCategories()
IAgentLogger
Does not contain agent logger itself.
getCategories
in interface IAgentLogger
protected abstract ILogCategories getLogCategories()
public LogCategory getCategory(String name)
IAgentLogger
getCategory
in interface IAgentLogger
public LogCategory getCategory(IComponent component)
IAgentLogger
IComponent
.getCategory
in interface IAgentLogger
public void setLevel(Level newLevel)
IAgentLogger
setLevel
in interface IAgentLogger
public void addDefaultConsoleHandler()
IAgentLogger
LogCategory
plus to every new one.
Shortcut for quick usage.
addDefaultConsoleHandler
in interface IAgentLogger
public Handler getDefaultConsoleHandler()
IAgentLogger
Handler
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 IAgentLogger
public void removeDefaultConsoleHandler()
IAgentLogger
LogCategory
.removeDefaultConsoleHandler
in interface IAgentLogger
public boolean isDefaultConsoleHandler()
IAgentLogger
isDefaultConsoleHandler
in interface IAgentLogger
public void addDefaultNetworkHandler()
IAgentLogger
LogCategory
plus to every new one.
Enables utilization of NetworkLogManager
for publishing all logs of this logger.
addDefaultNetworkHandler
in interface IAgentLogger
addDefaultNetworkHandler
in interface IJMXAgentLogger
public Handler getDefaultNetworkHandler()
IAgentLogger
Handler
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 IAgentLogger
public void removeDefaultNetworkHandler()
IAgentLogger
LogCategory
.
Note that this method is automatically called whenever the AbstractAgent is stopped/killed.
removeDefaultNetworkHandler
in interface IAgentLogger
removeDefaultNetworkHandler
in interface IJMXAgentLogger
public boolean isDefaultNetworkHandler()
IAgentLogger
It allows you to query whether the agent logger is outputting its logs to the NetworkLogManager
or not.
isDefaultNetworkHandler
in interface IAgentLogger
isDefaultNetworkHandler
in interface IJMXAgentLogger
public Handler addDefaultFileHandler(File file)
IAgentLogger
LogCategory
plus to every new one.
Shortcut for quick usage.
addDefaultFileHandler
in interface IAgentLogger
public Handler addDefaultPublisher(ILogPublisher publisher)
IAgentLogger
LogCategory
plus to every new one.addDefaultPublisher
in interface IAgentLogger
public void addDefaultHandler(Handler handler)
IAgentLogger
LogCategory
plus to every new one.addDefaultHandler
in interface IAgentLogger
public void removeDefaultHandler(Handler handler)
IAgentLogger
LogCategory
.removeDefaultHandler
in interface IAgentLogger
public void addToAllCategories(ILogPublisher logPublisher)
IAgentLogger
addToAllCategories
in interface IAgentLogger
public void addToAllCategories(Handler handler)
IAgentLogger
addToAllCategories
in interface IAgentLogger
public void removeFromAllCategories(Handler handler)
IAgentLogger
removeFromAllCategories
in interface IAgentLogger
Copyright © 2012 AMIS research group, Faculty of Mathematics and Physics, Charles University in Prague, Czech Republic. All Rights Reserved.