Adaptive application logger

US9626240B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9626240-B2
Application numberUS-201414496427-A
CountryUS
Kind codeB2
Filing dateSep 25, 2014
Priority dateSep 25, 2014
Publication dateApr 18, 2017
Grant dateApr 18, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

What is claimed is: 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. 2. The method of claim 1 , 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 further comprises, 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 the weighting 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 weighting of the detected predefined condition and generating the log message associated with the detected predefined condition. 3. The method of claim 2 , wherein the metrics comprise one or more cost-based metrics. 4. The method of claim 2 , wherein the metrics comprise one or more exception-based metrics. 5. The method of claim 2 , wherein the metrics comprise one or more crowd-based metrics. 6. The method of claim 2 , further comprising determining whether to continue adaptively logging runtime messages associated with the detected predefined condition of the application. 7. The method of claim 6 , further comprising, in response to determining to not continue adaptively logging runtime messages associated with the detected predefined condition for the application, halting logging of messages associated with the detected predefined condition for the determined execution state of the application. 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. 9. The system of claim 8 , 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 further comprises, 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 the weighting 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 weighting of the detected predefined condition and generating the log message associated with the detected predefined condition. 10. The system of claim 9 , wherein the metrics comprise one or more cost-based metrics. 11. The system of claim 9 , wherein the metrics comprise one or more exception-based metrics. 12. The system of claim 9 , wherein the metrics comprise one or more crowd-based metrics. 13. The system of claim 9 , further comprising determining whether to continue adaptively logging runtime messages associated with the detected predefined condition of the application. 14. The system of claim 13 , further comprising, in response to determining to not continue adaptively logging runtime messages associated with the detected predefined condition for the application, halting logging of messages associated with the detected predefined condition for the determined execution state of the application. 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

Assignees

Inventors

Classifications

  • Data logging (G06F11/14, G06F11/2205 take precedence) · CPC title

  • Error filtering or prioritizing based on a policy defined by the user or on a policy defined by a hardware/software module, e.g. according to a severity level · CPC title

  • in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9626240B2 cover?
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 gene…
Who is the assignee on this patent?
Oracle Int Corp
What technology area does this patent fall under?
Primary CPC classification G06F11/0781. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 18 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).