[hibernate-dev] [ORM] Reducing startup log verbosity
Steve Ebersole
steve at hibernate.org
Thu Jan 3 10:29:00 EST 2019
In general I agree with everything you said, but had a few specific
comments in line...
> [o.h.j.i.u.LogHelper] (main) HHH000204: Processing PersistenceUnitInfo [
> name: templatePU
> ...]
>
> -> so, first, I would make this one a one liner as we apparently didn't add
> any other properties. I think it was done to mimic the DEBUG output but I
> don't see any value to having it on several lines.
>
> And, frankly, I think I would get rid of it altogether and only log
> something at debug level.
>
+1 to dropping the INFO one altogether. However, I think we should keep
the DEBUG one and it should remain multi-line. I could not tell if you
were saying the same wrt DEBUG.
[o.h.d.Dialect] (main) HHH000400: Using dialect:
> org.hibernate.dialect.PostgreSQL95Dialect
>
> -> wondering if it has any value to log the dialect? I mean if you don't
> use the right one, you will definitely have some issues.
>
True, but it is probably hard(er) to interpret the true source of the
issues later on.
However, I think it is reasonable to make this DEBUG. If you have problems
the first reasonable thing to do is to crank logging to DEBUG if not TRACE.
[o.h.e.t.j.p.i.JtaPlatformInitiator] (main) HHH000490: Using JtaPlatform
> implementation:
>
> [org.hibernate.engine.transaction.jta.platform.internal.JBossStandAloneJtaPlatform]
>
> -> This one, I don't know. It's probably important to know that JTA is
> properly configured but I'm not terribly excited about keeping it.
> Thoughts?
>
I think we agree here if I understand you correctly - a simple "JTA
integration enabled" message is fine for the bootstrap INFO logging.
But then it is kind of awkward to have 2 messages next to each other - the
INFO saying JTA integration was enabled and then a DEBUG message saying
which
>
> Maybe one solution could be to have all these ones tied to a
> "org.hibernate.bootstrap" logger and thus have the ability to enable them
> in one go.
> I heard you made nice things in 6 about logging but I would like to improve
> the situation in the stable version.
>
The specific changes on 6 are more what you mention. I break down each
"subsystem" into a dedicated message-logger. The overall idea is to split
the intended audience targeted by the messages into 2 groups. "Message
logs" are more intended for users and DEBUG/TRACE logs are intended for
developers (or "power users"). Message loggers use a different "logger
name" scheme not based on class/package names but more of a symbolic
subsystem name. E.g., from
`org.hibernate.cache.spi.SecondLevelCacheLogger`[1], I grouped all caching
related messages using the logger name `org.hibernate.orm.cache`. The
reason is two-fold... First it is refactor-safe which is great given the
intended audience. Secondly it allows for a more logical hierarchy of
logger names. Also it groups all ORM-related logging under a single name,
as opposed to having to use `org.hibernate` which affects logging for all
Hibernate projects being used.
`BootstrapLogger` was one I intended on doing as well already. This is all
an on-going process as a task of opportunity, meaning I am doing that
conversion as I work in the subsystem.
Personally I think it does not make sense to make such changes in 5.4
though. Cleaning up the INFO->DEBUG stuff discussed above makes sense, I
just mean re-organizing the loggers/names.
[1]
https://github.com/hibernate/hibernate-orm/blob/wip/6.0/hibernate-core/src/main/java/org/hibernate/cache/spi/SecondLevelCacheLogger.java
>
> I would like to move quickly on this and hopefully integrate it in the
> upcoming 5.4.1 so feedback very welcome! If some are polemic, I will just
> work on the easy ones, that would still improve the situation.
>
> Thanks!
>
> --
> Guillaume
> _______________________________________________
> hibernate-dev mailing list
> hibernate-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/hibernate-dev
>
More information about the hibernate-dev
mailing list