Entries Tagged as 'LogBox'

LogBox 1.2 Released!

LogBox , News , Releases No Comments »
On the spirit of non-stop releases, here is LogBox version 1.2.  Apart from some bug fixes we have squeezed in some great new functionality, especially when dealing with configuring LogBox and portability. Check out our milestone tickets for further review. Version 1.2 Tickets
  • Added some new methods to the LogBoxConfig object: resetAppenders(), resetCategories and resetRoot() to reset some configurations.
  • Fixes on appender declarations and layouts
  • Addition of the LogBox DSL to coldbox configuration file, so now you can configure logbox via a cool DSL
  • Ability to configure LogBox via a simple CFC with a simple configure() method and our cool DSL
The major portion of this release is three words "Portabiity in Style".  We wanted to add a new way to configure LogBox in ColdBox style, a cool data definition DSL. Of course, our documentation is updated and now online: http://wiki.coldbox.org/wiki/LogBox.cfm#LogBox_DSL. Here is a little tast of the DSL: function configure(){

logBox = {
   // Appenders   appenders = {
      appenderName = {
         class="class.to.appender",
         layout="class.to.layout",
         properties={
            name = value,
            prop2 = value 2
         }
   },
   // Root Logger   root = {levelMin="FATAL", levelMax="DEBUG", appenders="*"},
   // Granualr Categories   categories = {
      "coldbox.system" = { levelMin="FATAL", levelMax="INFO", appenders="*"},
      "model.security" = { levelMax="DEBUG", appenders="console,twitter"}
   }
   // Implicit categories   debug = ["coldbox.system.interceptors"],
   info = ["model.class", "model2.class2"],
   warn = ["model.class", "model2.class2"],
   error = ["model.class", "model2.class2"],
   fatal = ["model.class", "model2.class2"],
   off = ["model.class", "model2.class2"]
};

}


LogBox 1.1 and MockBox 1.1 Released!

LogBox , News , MockBox , Releases No Comments »
Welcome to another week of wonderful releases.  We start of with our two awesome logging and mocking frameworks LogBox and MockBox.  They have both just graduated to version 1.1 and can be downloaded today as standalone frameworks or via the 3.0.0 M4 bundle, ahh yes, another blog post after this.

So what's new with LogBox 1.1, well here are the tickets:

890 add all appenders to a logbox category by default even from coldbox apps Fixed
891 category definitions should allow the * for appenders when definining them, instead of listing them Fixed
907 Async Appenders need way to distinguish between threading and not Fixed
910 LogBox standalone is now refactored to work under the logbox namespace Fixed
941 new properties for EmailAppender: useTLS and useSSL Fixed

The most important considerations are that we now have a utility that distinguishes when you are within an executed cfthread in any CFML engine.  LogBox uses this now for all of its asynchronous operations.  We also have refactored the download so LogBox can be installed alongside any ColdBox version or any other framework.  If you want to use LogBox in your ColdBox 3.0.0 applications, you already have it installed, so don't worry. 

Category definitions can now use '*' to define that you want ALL appenders for a specific logging category.  You can also omit them and LogBox will add all of them too.  However, be precise and use '*' if you want all appenders.

The last ticket was contributed to us and it is a great addition to the Email Appender, so now you can set the flags for SSL and TLS a-la-carte.  So enjoy LogBox 1.1!

Now to our mocking and stubbing library MockBox! So what's new with MockBox 1.1:

911 Standalone version should be refactored into its own namespace Fixed
940 new method querySim() to help simulate queries Fixed

We have also refactored the standalone download so it can be used alongside any ColdBox version or framework.  We have also added a nice UDF to simulate queries called querySim().  This way you can easily simulate and mock queries from your tests by doing things like:

mockQuery = querySim("col1, col2
val1 | val2
valrow2 | valRow2
valRow3 | valRow3");

That's it, just use the first line of the call to put your columns comma delimited and then a break and you rows separated by breaks and columns separated by '|'.  A very cool way to simulate queries. 

And finally, it has some minor fixes and tweaks, nothing extraordinary apart from the library itself!

So enjoy these two new standalone releases which can also be found in our upcoming ColdBox 3.0.0 Milestone 4 release!

LogBox Also hits 1.0, get it now!

LogBox , News , Releases No Comments »

LogBox has now reached maturity and hit 1.0 release.  You can download it from our usual downloads center location.
Want to suggest a feature, fix a bug, new something? User your voice: http://coldbox.uservoice.com/

LogBox is an enterprise ColdFusion logging library designed to give you flexibility, simplicity and power when logging or tracing is needed in your applications. LogBox is part of the ColdBox Platform 3.0 suite of services and libraries. LogBox allows you to easily build upon its logging framework in order to meet any logging or reporting needs your applications has. ColdFusion has the very basic cflog tag that you can use in your applications to leverage file logging but it has many limitations. LogBox allows you to create multiple destinations for your loggings and even be able to configure them or change them at runtime.

Almost every application needs some kind of logging or tracing capabilities and we believe that LogBox fills that void. However, LogBox offers you the capabilities to filter out or be able to cancel logging noise a-la-carte. LogBox was inspired by the original logging capabilities in ColdBox and in the Log4j project.

What Can LogBox Do For You?

  • LogBox can handle the inserting of logging or tracing statements in your applications with a very easy to use API and gives you the ability to manage it externally without touching application code.
  • You can configure LogBox via the following means:
    • A programmatic configuration file (cfc)
    • An xml configuration file
    • A ColdBox configuration file
  • LogBox categorizes your logging or tracing statements according to user-defined categories that can be configured at runtime or pre-runtime. All of these categorizations can have their own logging level ranges and even their own destination points or what we refer to as LogBox Appenders.
  • LogBox Appenders are the different destination points you can configure for your logging or tracing statements. LogBox also offers a basic extensible API so you can build and extend upon the Appender framework according to your logging or tracing needs. This gives you complete control and flexibility of how to expand LogBox.
    • LogBox also facilitates the creation of your very own customized message formats via Layouts. You can create a Layout component that can be configured in to ANY LogBox appender so it can spit out your very own customized messages.
    • LogBox can be instantiated as many times as you want and used as many times as you like in a single application. There are no restrictions upon its usage.

Included LogBox Appenders

Appender Description
AsyncFileAppender An Asynchronous file appender
AsyncRollingFileAppender An Asynchronous file appender that can do file rotation and archiving
CFAppender Will deliver messages to the coldfusion logs
ColdboxTracerAppender Will deliver messages to the ColdBox Tracer Panel in the ColdBox debugger
ConsoleAppender Will deliver messages to the console via system.out
DBAppender Will deliver messages to a database table. It can even auto create the table for you.
EmailAppender Will deliver messages to any email address
FileAppender Will deliver messages to a file
RollingFileAppender A file appender that can do file rotation and archiving
ScopeAppender Will deliver messages to any ColdFusion scope you desire
SocketAppender Will connect to any server socket and deliver messages
TwitterAppender Can either send direct messages to a twitter user or update a status of a twitter user.
TracerAppender Will deliver messages to the coldfusion tag cftrace.



LogBox RC 2 Release!

LogBox , News , Releases No Comments »

LogBox has been updated with some fixes and updates to the configuration to make it more flexible when configuring programmatically.  It also now has an added relaxed way to declare category levels within XML configurations.  Of course, all features documented and updated.

Grab it while it is hot!!


LogBox Release Candidate 1 is out!

LogBox , Releases 3 Comments »
New update to LogBox is out today in preparation for a final 1.0 release. You can download it from the main download page. This update includes the following:

Ability to get a logger using a class object instead of a category name:

<cfset logger = logBox.getLogger(this)>

LogBox will then inspect the object and get its fully qualified name from it.  This is great instead of passing the category name because when you refactor, the logging auto-adjusts itself.

Tracer log level removed.

Creation of a DummyAppender that will log null messages. Useful for testing

ColdBox integration updated for 3.0 apps:
  • All 3.0 apps now have logBox integration
  • New appender for ColdBox Apps: ColdboxTracerAppender which will interface with the ColdBox debugger so you have access to all the logging right in your debugger panel as tracers.
  • ColdBox is now synchronized with logBox instances for creating custom coldbox related appenders and logging.
  • New logbox DSL for autowiring.  You can now autowire logbox, the root logger, and any logger in any coldbox enabled application via setter, constructor or cfproperty injection.

<!--- LogBox Instance --->
<cfproperty name="logBox" type="logbox">
<!--- Root Logger --->
<cfproperty name="logger" type="logbox:root">
<!--- Single Category name --->
<cfproperty name="logger" type="logbox:logger:MyCategory">
<!--- Dynamic Name --->
<cfproperty name="logger" type="logbox:logger:#getMetadata(this).name#">