37
loading...
This website collects cookies to deliver better user experience
public abstract class Parent {
private static final Logger log = LoggerFactory.getLogger(Parent.class);
protected void doSomething() {
// will log using this class Logger
log.info("Success");
}
}
04-07-2019T11:00:00.662 [main] INFO Parent.doSomething Success
public class Child extends Parent {
private static final Logger log = LoggerFactory.getLogger(Child.class);
protected void doSomethingElse() {
// will log using this class Logger
log.info("Some message");
doSomething(); // will log using parent logger
}
}
04-05-2019T11:11:00.662 [main] INFO Child.doSomethingElse Some Message
04-05-2019T11:11:00.662 [main] INFO Parent.doSomething Success
public abstract class Parent {
private final Logger logger;
public Parent(Logger logger) {
this.logger = logger;
}
protected void doSomething() {
// will log using the injected Logger instance
log.info("Success");
}
}
public class Child extends Parent {
private static final Logger log = LoggerFactory.getLogger(Child.class);
public Child() {
super(log);
}
protected void doSomethingElse() {
// All logging will be done using this instance Logger
log.info("Some message");
doSomething();
}
}
04-05-2019T11:21:00.332 [main] INFO Child.doSomethingElse Some Message
04-05-2019T11:21:00.332 [main] INFO Child.doSomething Success
public abstract class Parent {
protected void doSomething(Logger log) {
// will log using the injected Logger instance
log.info("Success");
}
}
public class Child extends Parent {
private static final Logger log = LoggerFactory.getLogger(Child.class);
protected void doSomethingElse() {
// All logging will be done using this instance Logger
log.info("Some message");
doSomething(log); // we pass the logger to the method
}
}
04-05-2019 11:31:00.100 [main] INFO Child:doSomethingElse Some Message
04-05-2019 11:31:00.100 [main] INFO Child:doSomething Success