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

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


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

Joachim Durchholz commented on SLF4J-154:
-----------------------------------------

While the MethodHandles approach is copy&paste-compatible, it is pretty unintuitive (method handles for getting a class object wtf?), and it's sort of going out of its way to be unavailable to IDE autocompletion.
For that reason, I'd still like SLF4J to offer a static LoggerFactory.getClassLogger() function. It would require stack inspection to work under JDK 1.5, but I wouldn't care because that overhead would be dwarved by class loading&linking overhead anyway.

> 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