google / flogger

A Fluent Logging API for Java
Apache License 2.0
1.45k stars 123 forks source link

Incorrect caller details logged with Flogger in spring boot #360

Open charu-jain89 opened 10 months ago

charu-jain89 commented 10 months ago

I am using Flogger API to log details in my spring boot controller, I am using below dependency for logging:

                <dependency>
            <groupId>com.google.flogger</groupId>
            <artifactId>flogger-slf4j-backend</artifactId>
            <version>0.7.4</version>
        </dependency>

I need to log caller details like class name, method name and line number. so, I have been using this log pattern in logback.xml file.

Class:%class{36} Method:%method Line:%line

With Fluent API:

log.atInfo().log(">>>>>>>>>>>>>>Test>>>>>>>>>>>>>>>>");

It logs:

"Class1":"c.g.c.f.b.slf4j.Slf4jLoggerBackend","Method1":"log","Line1":"176"

So, its logging internal details. Not the current Controller class or method name, which is DemoController and test method here.

However, It logs properly with @Slf4j or with log.info and log.debug etc

Can anyone pls suggest how to log correct caller details with Flogger API.

Also raised: https://stackoverflow.com/questions/77042586/what-is-the-log-pattern-to-log-caller-details-with-flogger-in-spring-boot

eamonnmcmanus commented 10 months ago

This is probably better asked on Stack Overflow.

charu-jain89 commented 10 months ago

@eamonnmcmanus Is there a solution to this. Because I am not able to log caller details with @Flogger However same log pattern(Class:%class{36} Method:%method Line:%line) works correctly with @Slf4j. I havn't got any reference of this online also. Thanks in advance.