Skip to content

[java] GuardLogStatement: Should not need to guard parameterized log messages where the replacement arg is a constant from another class #5151

@jbisotti

Description

@jbisotti

Affects PMD Version:
7.0.0

Rule:
GuardLogStatement

Description:
I do not believe an argument, which is a constant from another class, should result in a violation of this rule.

Code Sample demonstrating the issue:

        // This IS flagged as a violation
        LOG.info(
                "Some message here : foo={}",
                SomeOtherClass.MY_CONSTANT
        );

        // This is not flagged as a violation
        LOG.info(
                "Some message here : foo={}",
                MY_CONSTANT
        );

Expected outcome:

PMD reports "... Rule:GuardLogStatement Priority:2 Logger calls should be surrounded by log level guards..".
I think that's a false positive.

Running PMD through: [CLI | Ant | Maven | Gradle | Designer | Other]
Run via maven-pmd-plugin (3.24.0)

Metadata

Metadata

Assignees

No one assigned

    Labels

    a:false-positivePMD flags a piece of code that is not problematic

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions