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:

Instance Members

Every logger has access to the following public variables:

Property

Description

this.logLevels

A reference to the logbox.system.logging.LogLevels class.

Utility Methods

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.

Logging Methods

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 updated