Browse Prior Art Database

An Application Logging Framework that Supports Fine-Grained Filtering

IP.com Disclosure Number: IPCOM000238771D
Publication Date: 2014-Sep-17
Document File: 5 page(s) / 115K

Publishing Venue

The IP.com Prior Art Database

Abstract

Disclosed is an application logging framework that supports fine-grained filtering. The solution employs three features: per-statement filtering, source code tagging, and end user tagging.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 35% of the total text.

Page 01 of 5

An Application Logging Framework that Supports Fine-Grained Filtering

Effective application logging is critical to the success of any enterprise-level software system. Tasks such as product support, security audits, and analysis of user behavior might all depend upon extracting insight from logs. In order to satisfy the requirements of such disparate tasks, it is necessary for a system to not only emit all of the necessary information, but also provide a means of filtering that information so that the output is tailored to the task. Existing logging frameworks do not do this well.

Traditional logging frameworks provide filtering of logging statements based on a limited set of pre-defined criteria, the most common being severity and location. As an

example, consider log4j, a popular logging framework for Java*. Log4j provides default

severity levels (in increasing order) of DEBUG, INFO, WARNING, ERROR, and FATAL. Each logging statement exists in a given package (i.e. location) and is associated with one of these levels (i.e. severity). Using log4j in a software system allows users to

specify which severity of statements should be logged for a given package.

This approach works well for basic filtering needs, but has the following drawbacks:

• Incorrect severity assignment • Too much output • Lack of alternative filtering criteria; lack of the ability to target individual logging statements or effectively define custom criteria

A method or system is needed to provide more filtering and logging options.

The novel contribution is an application logging framework that supports fine-grained filtering. The solution employs three features: per-statement filtering, source code tagging, and end user tagging. Tagging is the process of associating logging statements with zero or more tags (i.e. arbitrary strings) that help to categorize the purpose of the statement.

Per-statement filtering allows the user to enable or disable individual logging statements at runtime. Per-statement filtering provides greater flexibility than enabling or disabling entire groups of statements based on severity, location, or other coarse-grained criteria.

An example implementation of this approach is to use a configuration file (similar to those used by log4j and other logging frameworks) to specify exactly which statements are enabled. Because the number of logging statements in an enterprise-level software system is usually very large, a logging configuration editor can be used to simplify the process of finding, enabling, and disabling logging statements.

Source code tagging is performed by developers during development of the software system. Consider as an example a software system that includes a Representational State Transfer (REST) Application Programming Interface (API) method used to authenticate a user. This API method includes a logging statement to record the username associated with each login attempt. This statement could include both 'rest...