Another predefined logic layer is for logging purposes. Since there is a myriad of loggers out there, we don’t provide any special adapter, but a generic type which can be used to adapt to the logging framework of your choice.

Just create a class and implement EntityLogger, and you are good to go.

public class JulLogger implements EntityLogger
	public void afterUpdate(
		final Entity identity,
		final Entity data,
		final boolean successful)
			.info("Entity updated");

Additional to afterUpdate there are further hooks:

  • entityCreated

  • afterRead

  • beforeUpdate

Now just add the logger when creating entities:

JulLogger logger = new JulLogger();

Person john = PersonCreator.New()

When you call

PersonUpdater.setLastName(john, "Smith");

the logger’s output is

Oct 15, 2019 11:17:53 AM JulLogger afterUpdate
INFO: Entity updated