
When an include is not surrounded by empty lines, its content is inlined on the same line as the adjacent content. That can lead to broken tags and other display issues. This PR fixes all such includes and introduces a validation step that forbids introducing the same problem again.
47 lines
1.3 KiB
Plaintext
47 lines
1.3 KiB
Plaintext
== Why is this an issue?
|
|
|
|
Regardless of the logging framework in use (logback, log4j, commons-logging, java.util.logging, ...), loggers should be:
|
|
|
|
|
|
* ``++private++``: never be accessible outside of its parent class. If another class needs to log something, it should instantiate its own logger.
|
|
* ``++static++``: not be dependent on an instance of a class (an object). When logging something, contextual information can of course be provided in the messages but the logger should be created at class level to prevent creating a logger along with each object.
|
|
* ``++final++``: be created once and only once per class.
|
|
|
|
=== Noncompliant code example
|
|
|
|
With a default regular expression of ``++LOG(?:GER)?++``:
|
|
|
|
[source,java]
|
|
----
|
|
public Logger logger = LoggerFactory.getLogger(Foo.class); // Noncompliant
|
|
----
|
|
|
|
=== Compliant solution
|
|
|
|
[source,java]
|
|
----
|
|
private static final Logger LOGGER = LoggerFactory.getLogger(Foo.class);
|
|
----
|
|
|
|
=== Exceptions
|
|
|
|
Variables of type ``++org.apache.maven.plugin.logging.Log++`` are ignored.
|
|
|
|
ifdef::env-github,rspecator-view[]
|
|
|
|
'''
|
|
== Implementation Specification
|
|
(visible only on this page)
|
|
|
|
include::../message.adoc[]
|
|
|
|
include::../parameters.adoc[]
|
|
|
|
'''
|
|
== Comments And Links
|
|
(visible only on this page)
|
|
|
|
include::../comments-and-links.adoc[]
|
|
|
|
endif::env-github,rspecator-view[]
|