Resolve Java Checkstyle Error: Name 'logger

2019-06-19 01:00发布

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?

2条回答
Summer. ? 凉城
2楼-- · 2019-06-19 01:46

The documentation recommends using this configuration if you wish to keep logger as a valid option:

<module name="ConstantName">
    <property name="format"
          value="^log(ger)?|[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$"/>
</module>
查看更多
趁早两清
3楼-- · 2019-06-19 01:54

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.

查看更多
登录 后发表回答