javaeclipseconstantscheckstyle

Resolve Java Checkstyle Error: Name 'logger' must match pattern '^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$'


Using the Eclipse Checkstyle plugin I see this error:

Name 'logger' must match pattern '^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$'.

I resolved this error by changing:

private static final Logger logger = Logger.getLogger(someClass.class);

to

private static final Logger LOGGER = Logger.getLogger(someClass.class);

Why is this a checkstyle warning?


Solution

  • Because the field is marked final and static which implies that it's a constant and should be named with uppercase letters.

    From this link, you can see that the module ConstantName has the format ^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$ which is exactly the one your Checkstyle plugin has specified.