Unified logging service with a logging formatter
First Claim
1. An integrated tracing and logging system employed within a network comprising:
- a computer system having;
a processor coupled with a memory,a tracing module associated with specified program code regions of an application, the tracing module to receive via an application programming interface (API) and process tracing method calls generated by the application when the specified program code regions are executed, a logging module separate from the tracing module, the logging module associated with specified categories related to the network, the logging module to receive via the API and process logging method calls from network components associated with the categories, wherein the logging module and the tracing module are different respective subclasses of a controller class, wherein an initial configuring of the logging module and the tracing module includes both the logging module and the tracing module automatically inheriting from the controller class a first output destination to receive formatted messages, anda formatter coupled to the tracing module and to the logging module, the formatter to receive tracing messages from the tracing module and logging messages from the logging module, the formatter including a configuration file storing a default format definition for the formatter, the formatter initially to format messages from the tracing module and the logging module according to the default format definition during a runtime of the formatter, wherein the formatter further to be reconfigured during the runtime to format messages from the tracing module and the logging module according to a changed format definition, the reconfiguring the formatter including the configuration file receiving a change to the default format definition during the runtime, wherein the reconfiguring the formatter does not require recompiling of any source code of the integrated tracing and logging system, the formatter initially to automatically send formatted messages of the tracing module and logging module to the first output destination based on the automatic inheritance of the first output destination by the tracing module and logging module; and
a second output destination different from the first output destination, wherein a method call of one of the logging module and the tracing module is performed during the runtime to store in the configuration file data assigning the second output destination to the one of the logging module and the tracing module, the formatter further to automatically send formatted output of the tracing module and the logging module to the second output destination based on the data assigning the second output destination to the one of the logging module and the tracing module.
2 Assignments
0 Petitions
Accused Products
Abstract
An integrated tracing and logging system for an enterprise network. One embodiment of the integrated logging and tracing system has an object-oriented architecture which includes a controller class with two sub-classes: a tracing sub-class and a logging sub-class. Instances of the tracing sub-class (tracing modules) are associated with specified program code regions of network applications. The tracing modules receive method calls from the network applications and process the method calls based on defined severity levels. Instances of the logging sub-class (logging modules) are associated with specified “categories” related to the enterprise network (e.g., system, database, etc). The logging modules receive and process method calls from network components associated with the categories. The integrated logging and tracing system allows the format of tracing and logging messages to be configured without recompiling any source code.
-
Citations
20 Claims
-
1. An integrated tracing and logging system employed within a network comprising:
-
a computer system having; a processor coupled with a memory, a tracing module associated with specified program code regions of an application, the tracing module to receive via an application programming interface (API) and process tracing method calls generated by the application when the specified program code regions are executed, a logging module separate from the tracing module, the logging module associated with specified categories related to the network, the logging module to receive via the API and process logging method calls from network components associated with the categories, wherein the logging module and the tracing module are different respective subclasses of a controller class, wherein an initial configuring of the logging module and the tracing module includes both the logging module and the tracing module automatically inheriting from the controller class a first output destination to receive formatted messages, and a formatter coupled to the tracing module and to the logging module, the formatter to receive tracing messages from the tracing module and logging messages from the logging module, the formatter including a configuration file storing a default format definition for the formatter, the formatter initially to format messages from the tracing module and the logging module according to the default format definition during a runtime of the formatter, wherein the formatter further to be reconfigured during the runtime to format messages from the tracing module and the logging module according to a changed format definition, the reconfiguring the formatter including the configuration file receiving a change to the default format definition during the runtime, wherein the reconfiguring the formatter does not require recompiling of any source code of the integrated tracing and logging system, the formatter initially to automatically send formatted messages of the tracing module and logging module to the first output destination based on the automatic inheritance of the first output destination by the tracing module and logging module; and a second output destination different from the first output destination, wherein a method call of one of the logging module and the tracing module is performed during the runtime to store in the configuration file data assigning the second output destination to the one of the logging module and the tracing module, the formatter further to automatically send formatted output of the tracing module and the logging module to the second output destination based on the data assigning the second output destination to the one of the logging module and the tracing module. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer-implemented method employed within a network comprising:
-
creating an instance of a tracing controller associated with specified program code regions of an application, the tracing controller instance to receive and process tracing method calls generated by the application when the specified program code regions are executed; creating an instance of a logging controller associated with specified categories related to the network, the logging controller to receive and process logging method calls from network components associated with the categories, wherein the logging controller instance and the tracing controller instance are different respective subclasses of a controller class, wherein a default output destination for formatted messages is automatically inherited from the controller class both by the logging controller instance and by the tracing controller instance; providing a common application programming interface of the tracing controller instance and the logging controller instance, whereby the tracing controller instance and the logging controller instance are accessed; creating an instance of a formatter coupled to the tracing controller instance and the logging controller instance, the formatter including a configuration file;
receiving at the formatter instance tracing messages from the tracing controller instance and logging messages from the logging controller instance, wherein the formatter instance is initially to automatically send formatted messages of the tracing controller instance and logging controller instance to the default output destination based on the inheritance of the default output destination by the tracing controller instance and logging controller instance;the formatter instance performing a first formatting of received messages from the tracing controller instance and the logging controller instance during a runtime of the formatter instance, the first formatting according to a default format definition stored in the configuration file; after the first formatting, reconfiguring the formatter instance to format messages from the tracing controller instance and the logging controller instance according to a changed format definition, the reconfiguring during the runtime, the reconfiguring including; changing the default format definition stored in the configuration file, and performing a method call of one of the logging controller instance and the tracing controller instance, the method call to store in the configuration file data assigning a first output destination different from the default output destination to the one of the logging controller instance and the tracing controller instance, wherein reconfiguring the formatter instance does not require a recompiling of any source code; after the reconfiguring, the formatter instance performing a second formatting of received messages from the one of the tracing module and the logging module, the second formatting according to the changed format definition; and the formatter instance automatically sending an output of the second formatting to the first output destination, the sending based on the data assigning the first output destination to the one of the logging controller instance and the tracing controller instance. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A system comprising:
-
a computer system having a processor coupled with a memory, the computer system further including, a means for creating an instance of a tracing controller associated with specified program code regions of an application, the tracing controller instance to receive via an application programming interface (API) and process tracing method calls generated by the application when the specified program code regions are executed, a means for creating an instance of a logging controller associated with specified categories related to the network, the logging controller to receive via the API and process logging method calls from network components associated with the categories, wherein the logging controller instance and the tracing controller instance are different respective subclasses of a controller class, wherein an initial configuring of the logging controller instance and the tracing controller instance includes both the logging controller instance and the tracing controller instance automatically inheriting from the controller class a first output destination to receive formatted messages, means for creating an instance of a formatter to receive tracing messages from the tracing controller instance and logging messages from the logging controller instance, the formatter instance including a configuration file, the formatter instance further to perform a first formatting of received messages from the tracing controller instance and the logging controller instance during a runtime of the formatter instance, the first formatting according to a format definition stored in the configuration file, the formatter instance initially to automatically send formatted messages of the tracing controller instance and logging controller instance to the first output destination based on the automatic inheritance of the first output destination by the tracing controller instance and logging controller instance, and means for reconfiguring the formatter instance after the first formatting and during the runtime of the formatter instance, the reconfiguring including changing the format definition stored in the configuration file, wherein the reconfiguring the formatter instance does not require a recompiling of any source code, wherein the reconfigured formatter instance to perform a second formatting of received messages from the tracing controller instance and the logging controller instance, the second formatting according to the changed format definition stored in the configuration file; and a second output destination different from the first output destination, wherein a method call of one of the logging controller instance and the tracing controller instance is performed during the runtime to store in the configuration file data assigning the second output destination to the one of the logging controller instance and the tracing controller instance, the formatter instance further to automatically send formatted output of the tracing controller instance and the logging controller instance to the second output destination based on the data assigning the second output destination to the one of the logging controller instance and the tracing controller instance. - View Dependent Claims (15, 16)
-
-
17. An article of manufacture comprising:
-
an electronically accessible medium providing instructions that, when executed by an apparatus, cause the apparatus to create an instance of a tracing controller associated with specified program code regions of an application, the tracing controller instance to receive and process tracing method calls generated by the application when the specified program code regions are executed; create an instance of a logging controller associated with specified categories related to the network, the logging controller to receive and process logging method calls from network components associated with the categories, wherein the logging controller instance and the tracing controller instance are different respective subclasses of a controller class, wherein a default output destination for formatted messages is automatically inherited from the controller class both by the logging controller instance and by the tracing controller instance; provide a common application programming interface of the tracing controller instance and the logging controller instance, whereby the tracing controller instance and the logging controller instance are accessed; create an instance of a formatter coupled to the tracing controller instance and the logging controller instance, the formatter including a configuration file;
receive at the formatter instance tracing messages from the tracing controller instance and logging messages from the logging controller instance, wherein the formatter instance is initially to automatically send formatted messages of the tracing controller instance and logging controller instance to the default output destination based on the inheritance of the default output destination by the tracing controller instance and logging controller instance;perform at the formatter instance a first formatting of received messages from the tracing controller instance and the logging controller instance during a runtime of the formatter instance, the first formatting according to a default format definition stored in the configuration file; after the first formatting, reconfigure the formatter instance to format messages from the tracing controller instance and the logging controller instance according to a changed format definition, the reconfiguring during the runtime, the reconfiguring including; changing the default format definition stored in the configuration file, and performing a method call of one of the logging controller instance and the tracing controller instance, the method call to store in the configuration file data assigning a first output destination different from the default output destination to the one of the logging controller instance and the tracing controller instance, wherein reconfiguring the formatter instance does not require a recompiling of any source code; after the reconfiguring, the formatter instance performing a second formatting of received messages from the one of the tracing module and the logging module, the second formatting according to the changed format definition; and automatically send an output of the second formatting from the formatter instance to the first output destination, the sending based on the data assigning the first output destination to the one of the logging controller instance and the tracing controller instance. - View Dependent Claims (18)
-
-
19. An apparatus comprising:
-
an application; and a processor and logic executable thereon to create an instance of a tracing controller associated with specified program code regions of the application, the tracing controller instance to receive and process tracing method calls generated by the application when the specified program code regions are executed; create an instance of a logging controller associated with specified categories related to a network, the logging controller instance to receive and process logging method calls from network components associated with the categories, wherein the logging controller instance and the tracing controller instance are different respective subclasses of a controller class, wherein an output destination is inherited from the controller class both by the logging controller instance and by the tracing controller instance; provide a common application programming interface of the tracing controller instance and the logging controller instance, whereby the tracing controller instance and the logging controller instance are accessed; create an instance of a formatter coupled to the tracing controller instance and the logging controller instance, the formatter including a configuration file, wherein the formatter is one of a list formatter, a human-readable formatter, and a markup language formatter, wherein the formatter instance is initially to automatically send formatted messages of the tracing controller instance and logging controller instance to the default output destination based on the inheritance of the default output destination by the tracing controller instance and logging controller instance; receive at the formatter instance tracing messages from the tracing controller instance and logging messages from the logging controller instance; perform at the formatter instance a first formatting of received messages from the tracing controller instance and the logging controller instance during a runtime of the formatter instance, the first formatting according to a default format definition stored in the configuration file; after the first formatting, reconfigure the formatter instance to format messages from the tracing controller instance and the logging controller instance according to a changed format definition, the reconfiguring during the runtime, the reconfiguring including; changing the default format definition stored in the configuration file, the changing the default format definition including specifying one or more fields for a defined message format, the one or more fields including at least one of a timestamp field to indicate a time for the received message, a location of origin field to indicate a source of the received message, a thread identifier field to indicate a thread associated with the received message, a message severity indicator field to indicate a severity level of the received message, and a message identifier field to identify the received message, and performing a method call of one of the logging controller instance and the tracing controller instance, the method call to store in the configuration file data assigning a first output destination different from the default output destination to the one of the logging controller instance and the tracing controller instance, wherein reconfiguring the formatter instance does not require a recompiling of any source code; after the reconfiguring, the formatter instance performing a second formatting of received messages from the one of the tracing module and the logging module, the second formatting according to the changed format definition; and automatically send an output of the second formatting from the formatter instance to the first output destination, the sending based on the data assigning the first output destination to the one of the logging controller instance and the tracing controller instance. - View Dependent Claims (20)
-
Specification