[slf4j-dev] [JIRA] (SLF4J-154) Copy & paste of LoggerFactory.getLogger
QOS.CH (JIRA)
noreply-jira at qos.ch
Mon Apr 23 08:36:00 CEST 2018
[ https://jira.qos.ch/browse/SLF4J-154?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=19174#comment-19174 ]
Joachim Durchholz commented on SLF4J-154:
-----------------------------------------
The selling point of having a copy&paste-capable logger setup line without having to think, so you can concentrate on your class logic.
The MethodHandles method sort-of achieves that (it does for a colleague who is good at remembering things, I am not so it does not work very well for me).
Spotting incorrectly named loggers after the fact sort-of achieves that, too, depending on wether that error message comes as a distraction from more serious problems, or as the only, quickly-fixed problem. It's still more overhead than necessary (to be weighed against code bloat in SLF4J, but in this case I think it's worth it since SLF4J is about making logging a no-brainer).
> 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