简体   繁体   中英

Logback - Print out method name that called the log method

In my example, I have the following code:

package com.example.somepackage;

public class Example {
    public static void main(String[] args) {
        org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(Example.class);
        logger.info("Example message.");
    }
}

I want it to output to the console like this minimal example:

com.example.somepackage.Example.main Example message.

The only thing I need is either:

  • a pattern to put into the logback.xml file or
  • instructions on further code I need to add to my example code scenario

If extra code is used instead of a XML configuration pattern, please also provide information on how to pair these two, so one can still use patterns for time, log level, etc. in addition to the method name being printed out.

I think you're looking for the %M pattern. See the Logback docs for all patterns that you could use. Note, however, that these docs also say:

Generating the method name is not particularly fast. Thus, its use should be avoided unless execution speed is not an issue.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM