Blog

Brad Wood

February 18, 2014

Spread the word


Share your thoughts

LogBox ships with a number of appenders for you to use including the File, Email, and Socket Appenders. These all have a default way that they format the data before its persisted. For instance, the FileAppender will write out each log event like so:

"Severity","Name","MM/DD/YYYY","HH:MM:SS","Category","Message"

If you need the data to be in a different format, or perhaps even change what data is included, you can do so easily without needing write your own appender. Instead, you can provide the path to a custom layout CFC in the config that will be used to format each log message. A layout component only needs to have a single method called "format()". It will receive a coldbox.system.logging.logEvent object and must return a string containing the formatted log message.

Here's an example:

screamoLayout.cfc

component {
  function format( logEvent ) {
    return UCase( logEvent.getMessage() ) & '!!!';
  }
}

 

And then register the layout along side the appender that will use it in the config:

logBox = {
  appenders = {
    myFile = {
      class='logbox.system.logging.appenders.FileAppender',
      layout='path.to.screamoLayout'
    }
  },
  root = { appenders='*' }
};

Now, all your application's log messages will be shouted at the top of your server's lungs. Perhaps you should check the severity and only do that if it's an error message :)

More info here: http://wiki.coldbox.org/wiki/LogBox.cfm#Creating_a_Custom_Layout

P.S. Remember, it is the responsibility of your custom layout to deserialize the extraInfo if necessary and escape any special characters in the message based on the type of storage it's going to be added to. For instance, the E-mail appender will render any HTML tags when sending the message so escape anything that's not meant to be part of the markup in the actual E-mail.

Add Your Comment

Recent Entries

Hackers demand a ransom to restore data from my ColdFusion web applications!

Hackers demand a ransom to restore data from my ColdFusion web applications!

Hackers demand a ransom to restore data from my ColdFusion web applications!

Unfortunately, we often hear this message from clients who thought it would never happen to them... until it did. Some believed they could delay the expense of Implementing ColdFusion security best practices for one year, while others were tempted to put it off for just a few months. However, in today's rapidly evolving digital landscape, the security of web applications, including ColdFusio...

Cristobal Escobar
Cristobal Escobar
April 16, 2024
Ortus March Newsletter

Ortus March Newsletter

Welcome to Ortus Solutions’ monthly roundup, where we're thrilled to showcase cutting-edge advancements, product updates, and exciting events! Join us as we delve into the latest innovations shaping the future of technology.

Maria Jose Herrera
Maria Jose Herrera
April 01, 2024
Into the Box 2024 Last Early Bird Days!

Into the Box 2024 Last Early Bird Days!

Time is ticking, with less than 60 days remaining until the excitement of Into the Box 2024 unfolds! Don't let this golden opportunity slip away; our exclusive Early Bird Pricing is here for a limited time only, available until March 31st. Why wait? Secure your seat now and take advantage of this steal!

Maria Jose Herrera
Maria Jose Herrera
March 20, 2024