The Ortus BlogBox

"Ortus: A rise, beginning, coming into being, born, the origin!"



Category Filtering: 'logbox'


ColdBox 4 Book has arrived

Luis Majano
May 04, 2015


We are excited to finally announce the availability of the ColdBox 4 printed and kindle book. Enjoy!


Books, Books, CacheBox, CacheBox, ColdBox, ColdBox, CommandBox, CommandBox, ContentBox, ContentBox, LogBox, LogBox, MockBox, MockBox, TestBox, TestBox, WireBox, WireBox 0

Book Release Galore!

Luis Majano
Apr 24, 2015


We are so excited to announce the general availability of 5 new Ortus Books in print and kindle format about our products.  We have been hard at work to produce high quality documentation and transition all our documentation to book format.  We only have two more in the works right now with a target release of May (ColdBox + ContentBox).  So without further ado, here are the 5 new books for your reading pleasure!


Books, Books, CacheBox, CacheBox, ColdBox, ColdBox, CommandBox, CommandBox, ContentBox, ContentBox, LogBox, LogBox, MockBox, MockBox, TestBox, TestBox, WireBox, WireBox 0

LogBox Documentation Book Released

Luis Majano
Mar 11, 2015


We are proud to announce the general availability of the new LogBox 2.0.0 documentation in book format.  The book can be read online and downloaded for Free for all types of readers and mobile devices.  Enjoy!


LogBox, LogBox 0

ColdBox 4.0: What We Kept

Nathaniel Francis
Feb 20, 2015


ColdBox 4.0 is a major release for the ColdBox line. The most major since its original release in June 2006. To boost efficency and open up options, we've removed a lot of non-necessary items from the core installation and made them available through modular architecture instead. However, there are some thing that we've kept - and for good reason. This post discusses what we kept in the core of ColdBox 4.0 and why.

CacheBox, ColdBox, LogBox, Tips & Tricks, WireBox 0

ColdBox 4.0 and Async Loggers

Brad Wood
Feb 05, 2015


The Asynchronous loggers in LogBox have been removed in preference to the new async property that can be used in any logger. The affected loggers are:


  • AsyncDBAppender -> DBAppender
  • AsyncFileAppender -> FileAppender
  • AsyncRollingFileAppender -> RollingFileAppender
ColdBox, LogBox, Tips & Tricks 0

CacheBox 2.0, WireBox 2.0, and LogBox 2.0 Released

Brad Wood
Jan 23, 2015


In tandem with our ColdBox 4.0 release, we are publishing major releases of the core Box libraries as well:

CacheBox 2.0


  • [CACHEBOX-25] - Deprecate Cachebox xml config support


Read the What's New guide.

Download CacheBox

LogBox 2.0


  • [LOGBOX-14] -Truncating of category data to avoid error on insertion on DB Appender


Read the What's New guide.

Download LogBox

WireBox 2.0


  • [WIREBOX-31] -Builder.buildDSLDependency does not use the custom DSL correctly as the default namespace kicks in


  • [WIREBOX-32] -binder.mapDirectory now skips hidden dirs
  • [WIREBOX-35] -Remove coldbox:cacheManager DSL reference, it is no longer valid

New Features

  • [WIREBOX-2] -allow mapDSL to be altered at runtime by modules via new wirebox method: registerDSL()
  • [WIREBOX-30] -Support wiring new injection DSL = byType, which leverages the type to match to an implementation
  • [WIREBOX-33] -Add a force argument to the map functions so you can override if a mapping already exists
  • [WIREBOX-36] -New coldbox dsl to get a renderer reference: coldbox:renderer

Read the What's New guide.

Download WireBox

CacheBox, ColdBox, LogBox, Releases, WireBox 0

Tip of the Week: Easily Customize LogBox Appender Formats

Brad Wood
Feb 18, 2014


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:


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:


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 = {
  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:

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.

ColdBox, LogBox, Tips & Tricks 0