BPM, Workflow, and Case

BPM, Workflow, and Case

Come for answers. Stay for best practices. All we’re missing is you.

 View Only

Advanced Logging Framework for IBM BAW

By Atanu Roy posted Tue March 04, 2025 12:10 AM

  

Advanced Logging Framework for IBM BAW

This toolkit is built on SLF4J and Logback, specifically tailored for IBM Business Automation Workflow. Designed with modularity, efficiency, and ease of use in mind, this framework addresses the challenges of modern enterprise logging while seamlessly integrating with IBM BAW environments.

Why This Toolkit?

When things go wrong, clear logs help us find and fix the problem quickly. Traditional logging setups often come with complicated XML files and endless manual configurations. I wanted to change that.

This toolkit is plug-and-play. It works out of the box. You add the dependency and start using it. There is no need to spend hours on configuration.

Key Features

  • No More Complex XML Configurations:
    Everything is set up programmatically. You don't need to deal with confusing XML files anymore.

  • Plug & Play:
    The toolkit is easy to integrate into your process apps. It just works.

  • Single-Line Code Logging:
    Logging is as simple as one line of code:

    SLF4BAW.info("This is an INFO log from BAW");
  • Automatic Folder & File Creation:
    The framework automatically creates folders and files. Each process app gets its own subfolder. Log files are separated by log level.

  • Separate Folders for Process Apps & Separate Files for Log Levels:
    Your logs are organized neatly. Each process app has its folder. Each log level gets its own file.

  • Auto Cleanup & File Rolling:
    Log files roll over automatically when they reach a certain size. Old logs are cleaned up when the total log size goes beyond the limit.

  • High Performance:
    The toolkit is built for speed and efficiency. It uses lazy initialization and auto-creation of loggers. It also offers real-time runtime monitoring.

How It Works

The default log location is set to: 

node_profile_root/logs/CustomLogger

Inside this directory, the toolkit creates a subfolder for each process app. In each subfolder, there are separate files for different log levels. This makes it very easy to find what you need.

The framework is designed with a few simple ideas in mind:

  • Lazy Initialization: Logger instances are created only when needed, reducing startup overhead and conserving memory.
  • Auto-Creation of Loggers: Loggers are automatically created for each application, eliminating manual configuration.
  • Environment Variable-Driven Configuration: Rather than relying on traditional XML configuration files, all settings are driven by environment variables. This makes the framework highly adaptable to different deployment environments.
  • Thread Safety: Advanced concurrency mechanisms ensure that logger creation and configuration updates are safe in multi-threaded IBM BAW environments.
  • Performance Optimization: Cached logger instances and minimal synchronization points keep performance overhead to a minimum.
  • Flexible Configuration: Centralized configuration via ApplicationLoggerFactory and LoggerOptions lets you dynamically customize log paths, patterns etc.
  • Robust Error Handling: Input validation and clear exception messages catch misconfigurations early.
  • Context Management with MDC: Each log message is enriched with contextual data (like the IBM BAW application acronym) for easier troubleshooting.

Get Started Today

The Advanced Logging Framework for IBM BAW is free to use. You can download it from GitHub and start integrating it into your process apps right away. 

Explore the project here:
https://github.com/atanuroy007/SLF4BAW-TWX

I would love to hear your thoughts and feedback. Happy logging!


#IBMChampion
2 comments
25 views

Permalink

Comments

Mon March 10, 2025 08:53 AM

Hello @Radek Sulc,

I don't have a containerized environment to test but I am expecting it to work in the containerized version  as well, the only issue I could think of is with the log file path, the log folder should be mapped to a persistent volume.

You can download the TWX from here - https://github.com/atanuroy007/SLF4BAW-TWX

Thanks!
Atanu Roy

Mon March 10, 2025 07:37 AM

Hi Atonu,

the asset looks very promising. Thanks for sharing. Wondering whether it works on both traditional and containerized BAW.

Thanks, Radek