[slf4j-dev] [JIRA] (SLF4J-154) Copy & paste of LoggerFactory.getLogger

QOS.CH (JIRA) noreply-jira at qos.ch
Sun Apr 22 21:55:00 CEST 2018


    [ https://jira.qos.ch/browse/SLF4J-154?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=19173#comment-19173 ] 

Ceki Gülcü commented on SLF4J-154:
----------------------------------

Since SLF4J version 1.7.9 (released 2014-12-16):

By setting the {{slf4j.detectLoggerNameMismatch}} system property to true, SLF4J can automatically [spot incorrectly named loggers|https://www.slf4j.org/codes.html#loggerNameMismatch].

> Copy & paste of LoggerFactory.getLogger
> ---------------------------------------
>
>                 Key: SLF4J-154
>                 URL: https://jira.qos.ch/browse/SLF4J-154
>             Project: SLF4J
>          Issue Type: Bug
>          Components: Core API
>         Environment: Operating System: All
> Platform: All
>            Reporter: Thomas Mueller
>            Assignee: SLF4J developers list
>         Attachments: clipboard.png
>
>
> This is a feature request.
> Currently, when I create a new logger in a class, I copy & paste the following line from another class:
>   private static Logger log = LoggerFactory.getLogger(AcmeImpl.class);
> Sometimes I forget to change the class name. SLF4J could help me here. I suggest to add a new method, so the class name is not required, so that I can copy & paste the line without having to remember that I have to change the class name. Also, it's a bit shorter:
>   private static Logger log = LoggerFactory.getCallerClassLogger();
> This is copy & paste friendly. The implementation is tricky, but trivial once you understand it:
>   getCallerClassLogger() {
>     return getLogger(new Error().getStackTrace()[1].getClassName());
>   }
> There is a project that tries to solve the copy & paste problem: http://code.google.com/p/morbok/



--
This message was sent by Atlassian JIRA
(v7.3.1#73012)


More information about the slf4j-dev mailing list