IP Library Granted Patent US 11,449,482
Granted Patent B2
US 11,449,482 · App. 16/441,741 · Granted Sep 20, 2022

Dynamic log level with automatic reset

Inventor: Stephen Dale Garvey (Alpharetta, GA)
Assignee: ADP, Inc.
G06F16/2228G06F12/0815G06F2212/608
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,449,482
App. No.
16/441,741
Granted
Sep 20, 2022
Kind
B2
Abstract

Aspects define a dynamic threshold filter data structure that includes a pairing of an override log level value to a key value; in response to an incoming processing request, identify a user identification value that is linked to the request, wherein the user identification value is associated to a default logging level within a thread context map for logging data associated with executing processes in satisfaction of the processing request, and wherein the default logging level is different from the override log level; and in response to determining that the user identification value matches the key value, log data associated with executing processes in satisfaction of the processing request to the override log level.

Claims (44)

1. A computer-implemented method, comprising:

defining a dynamic threshold filter data structure to comprise a reset time interval value, a last-modified timestamp value, a first pairing of a first override log level value to a first key value, and a second pairing of a second override log level value to a global key value;

in response to an incoming processing request, identifying a user identification value that is linked to the request, wherein the user identification value is associated to a default logging level within a thread context map for logging data associated with executing processes in satisfaction of the processing request, and wherein the default logging level is different from the first override log level;

in response to determining that the user identification value matches the first key value and that a time elapsed since the last-modified timestamp value does not exceed the reset time interval value, logging data associated with executing processes in satisfaction of the processing request to the first override log level;

logging data associated with executing processes in satisfaction of the processing request to the second override log level in response to determining that the user identification value does not match the first key value, and to determining that the time elapsed since the last-modified timestamp value does not exceed the reset time interval value;

storing the first pairing of the first override log level value to the first key value, the reset time interval value and the last-modified timestamp value in a local cache portion of a local random access memory device of a processor that is executing the processes in satisfaction of the processing request, wherein the determining that the user identification value matches the first key value or the global key value is dependent upon reading the first pairing stored within the local cache; and

in response to determining that the time elapsed since the last-modified timestamp value exceeds the reset time interval value, deleting the first pairing from the local cache and logging the data associated with executing processes in satisfaction of the processing request to the default log level.

2. The method of claim 1 , further comprising:

replacing the first pairing with a revised version of the first pairing that is stored in a shared cache memory structure that is external to the local random access memory device and that is accessible from all of a plurality of different processing containers, in response to determining that the time elapsed since the last-modified timestamp value exceeds an expiration time value that is less than the reset time interval value, and to determining that a time elapsed since a last-modified timestamp value of the revised version of the first pairing does not exceed the reset time interval value.

3. The method of claim 2 , further comprising:

in response to determining that the time elapsed since the last-modified timestamp value of the revised version of the first pairing exceeds the reset time interval value, removing all users from a user log level entry of the shared cache.

4. The method of claim 2 , further comprising:

defining the dynamic threshold filter data structure within a LOG4J “DynamicThresholdFilter” code configuration; and

associating the user identification value to any one of the default logging level, the first override level and the second override level for executing the processes in satisfaction of the processing request via a LOG4J “ThreadCon text” code configuration.

5. A system, comprising:

a processor;

a computer-readable memory in circuit communication with the processor;

a computer-readable storage medium in circuit communication with the processor; and

wherein the processor executes program instructions stored on the computer-readable storage medium via the computer-readable memory and thereby:

defines a dynamic threshold filter data structure to comprise a reset time interval value, a last-modified timestamp value, a first pairing of a first override log level value to a first key value, and a second pairing of a second override log level value to a global key value;

in response to an incoming processing request, identifies a user identification value that is linked to the request, wherein the user identification value is associated to a default logging level within a thread context map for logging data associated with executing processes in satisfaction of the processing request, and wherein the default logging level is different from the first override log level;

in response to determining that the user identification value matches the first key value and that a time elapsed since the last-modified timestamp value does not exceed the reset time interval value, logs data associated with executing processes in satisfaction of the processing request to the first override log level;

logs data associated with executing processes in satisfaction of the processing request to the second override log level in response to determining that the user identification value does not match the first key value, and to determining that the time elapsed since the last-modified timestamp value does not exceed the reset time interval value;

stores the first pairing of the first override log level value to the first key value, the reset time interval value and the last-modified timestamp value in a local cache portion of a local random access memory device of a processor that is executing the processes in satisfaction of the processing request, wherein determining that the user identification value matches the first key value or the global key value is dependent upon reading the first pairing stored within the local cache; and

in response to determining that the time elapsed since the last-modified timestamp value exceeds the reset time interval value, deletes the first pairing from the local cache and logging the data associated with executing processes in satisfaction of the processing request to the default log level.

6. The system of claim 5 , wherein the processor executes the program instructions stored on the computer-readable storage medium via the computer-readable memory and thereby:

replaces a version of the first pairing stored in the local cache with a revised version that is stored in a shared cache memory structure that is external to the local random access memory device and that is accessible from all of a plurality of different processing containers, in response to determining that the time elapsed since the last-modified timestamp value exceeds an expiration time value that is less than the reset time interval value, and to determining that a time elapsed since a last-modified timestamp value of the revised version of the dynamic threshold filter data does not exceed the reset time interval value.

7. The system of claim 6 , wherein the processor executes the program instructions stored on the computer-readable storage medium via the computer-readable memory and thereby:

in response to determining that the time elapsed since the last-modified timestamp value of the revised version of the dynamic threshold filter data exceeds the reset time interval value, removes all users from a user log level entry of the shared cache;

defines the dynamic threshold filter data structure as a LOG4J “DynamicThresholdFilter” code configuration; and

associates the user identification value to any one of the default logging level, the first override level and the second override level for executing the processes in satisfaction of the processing request via a LOG4J “ThreadContext” code configuration.

8. A computer program product, comprising:

a computer-readable storage medium having computer-readable program code embodied therewith, wherein the computer-readable storage medium is not a transitory signal per se, the computer-readable program code comprising instructions for execution by a processor that cause the processor to:

define a dynamic threshold filter data structure to comprise a reset time interval value, a last-modified timestamp value, a first pairing of a first override log level value to a first key value, and a second pairing of a second override log level value to a global key value;

in response to an incoming processing request, identify a user identification value that is linked to the request, wherein the user identification value is associated to a default logging level within a thread context map for logging data associated with executing processes in satisfaction of the processing request, and wherein the default logging level is different from the first override log level;

in response to determining that the user identification value matches the first key value and that a time elapsed since the last-modified timestamp value does not exceed the reset time interval value, log data associated with executing processes in satisfaction of the processing request to the first override log level;

log data associated with executing processes in satisfaction of the processing request to the second override log level in response to determining that the user identification value does not match the first key value, and to determining that the time elapsed since the last-modified timestamp value does not exceed the reset time interval value;

store the first pairing of the first override log level value to the first key value, the reset time interval value and the last-modified timestamp value in a local cache portion of a local random access memory device of a processor that is executing the processes in satisfaction of the processing request, wherein determining that the user identification value matches the first key value or the global key value is dependent upon reading the first pairing stored within the local cache; and

in response to determining that the time elapsed since the last-modified timestamp value exceeds the reset time interval value, delete the first pairing from the local cache and logging the data associated with executing processes in satisfaction of the processing request to the default log level.

9. The computer program product of claim 8 , wherein the computer-readable program code instructions for execution by the processor further cause the processor to:

replace a version of the first pairing stored in the local cache with a revised version that is stored in a shared cache memory structure that is external to the local random access memory device and that is accessible from all of a plurality of different processing containers, in response to determining that the time elapsed since the last-modified timestamp value exceeds an expiration time value that is less than the reset time interval value, and to determining that a time elapsed since a last-modified timestamp value of the revised version of the dynamic threshold filter data does not exceed the reset time interval value;

in response to determining that the time elapsed since the last-modified timestamp value of the revised version of the dynamic threshold filter data exceeds the reset time interval value, remove all users from a user log level entry of the shared cache;

define the dynamic threshold filter data structure as a LOG4J “DynamicThresholdFilter” code configuration; and

associate the user identification value to any one of the default logging level, the first override level and the second override level for executing the processes in satisfaction of the processing request via a LOG4J “ThreadContext” code configuration.

Assignments (3)
CHANGE OF NAME Recorded Feb 4, 2022
From: ADP, LLC
To: ADP, INC.
Reel/Frame 058959/0729 →
CORRECTIVE ASSIGNMENT TO CORRECT THE DOCKET NUMBER ON NOTICE OF RECORDATION TO READ ADP20180058US1_ADP108346 PREVIOUSLY RECORDED ON REEL 049472 FRAME 0869. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jun 17, 2019
From: GARVEY, STEPHEN DALE
To: ADP, LLC
Reel/Frame 049488/0523 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 14, 2019
From: GARVEY, STEPHEN DALE
To: ADP, LLC
Reel/Frame 049472/0869 →