Adaptive application logger
First Claim
1. A method for adaptively logging runtime messages related to an application, the method comprising:
- detecting a predefined condition of the application;
determining an execution state of the application at a time the predefined condition is detected; and
dynamically determining whether to generate a log message associated with the detected predefined condition or to suppress generation of the log message associated with the detected predefined condition, wherein dynamically determining whether to generate the log message associated with the detected predefined condition or to suppress generation of the log message associated with the detected predefined condition includes;
determining whether the predefined condition of the application has been previously detected; and
in response to determining the predefined condition has not been previously detected, suppressing generation of the log message associated with the detected predefined condition, saving the detected predefined condition and the determined execution state of the application at the time the predefined condition is detected, and weighting the detected predefined condition.
1 Assignment
0 Petitions
Accused Products
Abstract
Embodiments of the invention provide systems and methods for logging of messages in a development environment. More specifically, embodiments of the present invention provide dynamically adaptive logging of runtime messages generated by an application. These embodiments provide a way to handle the volume of information stored in the logs by dynamically changing the severity associated with generated messages based on previous code path execution. Embodiments can use a set of metrics to replace the usual static log level associated with the code by the developer. For example, such metrics can include but are not limited to a cost-based (storage volume on disk), an exception-based (weight increase in catch block), and/or a crowd-based (community can vote down noise). As a result, embodiments can provide more detailed information when the error is recurring for a particular user but without generating so much information as to make the log difficult to use.
-
Citations
20 Claims
-
1. A method for adaptively logging runtime messages related to an application, the method comprising:
-
detecting a predefined condition of the application; determining an execution state of the application at a time the predefined condition is detected; and dynamically determining whether to generate a log message associated with the detected predefined condition or to suppress generation of the log message associated with the detected predefined condition, wherein dynamically determining whether to generate the log message associated with the detected predefined condition or to suppress generation of the log message associated with the detected predefined condition includes; determining whether the predefined condition of the application has been previously detected; and in response to determining the predefined condition has not been previously detected, suppressing generation of the log message associated with the detected predefined condition, saving the detected predefined condition and the determined execution state of the application at the time the predefined condition is detected, and weighting the detected predefined condition. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system comprising:
-
a processor; and a memory coupled with and readable by the processor and storing therein a set of instructions which, when executed by the processor, causes the processor to adaptively log runtime messages related to an application by; detecting a predefined condition of the application; determining an execution state of the application at a time the predefined condition is detected; and dynamically determining whether to generate a log message associated with the detected predefined condition or to suppress generation of the log message associated with the detected predefined condition, wherein dynamically determining whether to generate the log message associated with the detected predefined condition or to suppress generation of the log message associated with the detected predefined condition includes; determining whether the predefined condition of the application has been previously detected; and in response to determining the predefined condition has not been previously detected, suppressing generation of the log message associated with the detected predefined condition, saving the detected predefined condition and the determined execution state of the application at the time the predefined condition is detected, and weighting the detected predefined condition. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computer-readable memory comprising a set of instructions stored therein which, when executed by a processor, causes the processor to adaptively log runtime messages related to an application by:
-
detecting a predefined condition of the application; determining an execution state of the application at a time the predefined condition is detected; and dynamically determining whether to generate a log message associated with the detected predefined condition or to suppress generation of the log message associated with the detected predefined condition, wherein dynamically determining whether to generate the log message associated with the detected predefined condition or to suppress generation of the log message associated with the detected predefined condition includes; determining whether the predefined condition of the application has been previously detected; and in response to determining the predefined condition has not been previously detected, suppressing generation of the log message associated with the detected predefined condition, saving the detected predefined condition and the determined execution state of the application at the time the predefined condition is detected, and weighting the detected predefined condition. - View Dependent Claims (16, 17)
-
-
18. A method for adaptively logging runtime messages related to an application, the method comprising:
-
detecting a predefined condition of the application; determining an execution state of the application at a time the predefined condition is detected; and dynamically determining whether to generate a log message associated with the detected predefined condition or to suppress generation of the log message associated with the detected predefined condition, wherein dynamically determining whether to generate the log message associated with the detected predefined condition or to suppress generation of the log message associated with the detected predefined condition includes; determining whether the predefined condition of the application has been previously detected; and in response to determining the predefined condition has been previously detected; determining based on a set of one or more metrics whether to generate the log message associated with the detected predefined condition or to suppress generation of the log message associated with the detected predefined condition; in response to determining to suppress generation of the log message associated with the detected predefined condition based on the set of one or more metrics, suppressing generation of the log message associated with the detected predefined condition and increasing a weight of the detected predefined condition; and in response to determining to generate the log message associated with the detected predefined condition based on the set of one or more metrics, increasing the weight of the detected predefined condition and generating the log message associated with the detected predefined condition. - View Dependent Claims (19, 20)
-
Specification