Using a Logger Object
Once you retrieve a logger object from LogBox, you are ready to start sending messages. We already covered how to dynamically add/remove/list/check appenders from a logger, so let's look at the other methods we have available:
Every logger has access to the following public variables:
Property | Description |
this.logLevels | A reference to the logbox.system.logging.LogLevels class. |
Method | Description |
boolean canLog(numeric level) | Checks if this logger can log a certain type of severity. There is also a can{severity}() method for each severity level. |
boolean can{severity}() | Checks if this logger can log a certain type of severity. |
void setCategory(category) | Set the category name. |
Logger getRootLogger() | Get the root logger. |
numeric getLevelMin() | Get the minimum severity level. |
void setLevelMin(level) | Set the minimum severity level. |
numeric getLevelMax() | Get the maximum severity level. |
void setLevelMax(level) | Set the maximum severity level. |
Method | Description |
fatal(string message, [any extraInfo=""]) | Log a fatal message. |
error(string message, [any extraInfo=""]) | Log an error message. |
warn(string message, [any extraInfo=""]) | Log a warning message. |
info(string message, [any extraInfo=""]) | Log an information message. |
debug(string message, [any extraInfo=""]) | Log a debug message. |
logMessage(string message, numeric severity, [any extraInfo=""]) | Log any kind of message. |
As you can probably tell, all logging methods take in a message string an a second argument called
extraInfo
. This extraInfo
argument can be anything from a string, a structure, a query or whatever. This way you can send in a complex structure that the appenders will serialize into message form or log into the appropriate channel. Thus, extraInfo
can be very handy when you are building your own custom appenders.// setting some messages
myLogger = logBox.getLogger( this ); // "com.model.dao"
myLogger.info( "I just created my first logger" );
try{
data = dao.getDBData();
}
catch( any e ){
myLogger.error(
"Something really died on my dbdata method: #e.message# #e.detail#",
e.tagContext
);
}
I hope that by now you understand the basics of loggers and how easy it is to use them.
Last modified 10mo ago