Как правильно логировать базу данных?
Если честно, то не совсем понятно чего вы хотите.
В БД есть логирование. Вот, например PostgreSQL

Если речь идет о логах hibernate & jpa, то вот, полезная статья:
https://www.baeldung.com/sql-logging-spring-boot
Можно установить уровень логирования, а затем например, вывести логи в файл

Если речь про Spring & Hibernate (про аудирование), например, когда какая сущность была добавлена или обновлена, то есть например, EntityListeners.

Вот, простой пример:
@SpringBootApplication
@EnableJpaAuditing
public class Application {
  public static void main(String[] args) {
    SpringApplication.run(Application.class, args);
  }
}

сущность User - 
@Entity
@EntityListeners(AuditingEntityListener.class)
@Table(name = "users")
public class User {

    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE)
    private Long id;

    @CreatedDate
    @Column(updatable = false)
    private LocalDateTime created;

    @LastModifiedDate
    private LocalDateTime lastModified;

}
В самой базе данных уже есть встроенное логгирование