Skip to content

Commit 06e6c04

Browse files
Nikolay Shestakovbrmeyer
authored andcommitted
HHH-7908 Logging level checking
Conflicts: hibernate-core/src/main/java/org/hibernate/type/descriptor/sql/BasicExtractor.java
1 parent b5d2f45 commit 06e6c04

26 files changed

+139
-87
lines changed

hibernate-core/src/main/java/org/hibernate/action/internal/UnresolvedEntityInsertActions.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -204,11 +204,13 @@ public Set<AbstractEntityInsertAction> resolveDependentActions(Object managedEnt
204204
if ( entityEntry.getStatus() != Status.MANAGED && entityEntry.getStatus() != Status.READ_ONLY ) {
205205
throw new IllegalArgumentException( "EntityEntry did not have status MANAGED or READ_ONLY: " + entityEntry );
206206
}
207+
208+
final boolean traceEnabled = LOG.isTraceEnabled();
207209
// Find out if there are any unresolved insertions that are waiting for the
208210
// specified entity to be resolved.
209211
Set<AbstractEntityInsertAction> dependentActions = dependentActionsByTransientEntity.remove( managedEntity );
210212
if ( dependentActions == null ) {
211-
if ( LOG.isTraceEnabled() ) {
213+
if ( traceEnabled ) {
212214
LOG.tracev(
213215
"No unresolved entity inserts that depended on [{0}]",
214216
MessageHelper.infoString( entityEntry.getEntityName(), entityEntry.getId() )
@@ -217,15 +219,15 @@ public Set<AbstractEntityInsertAction> resolveDependentActions(Object managedEnt
217219
return Collections.emptySet(); //NOTE EARLY EXIT!
218220
}
219221
Set<AbstractEntityInsertAction> resolvedActions = new IdentitySet( );
220-
if ( LOG.isTraceEnabled() ) {
222+
if ( traceEnabled ) {
221223
LOG.tracev(
222224
"Unresolved inserts before resolving [{0}]: [{1}]",
223225
MessageHelper.infoString( entityEntry.getEntityName(), entityEntry.getId() ),
224226
toString()
225227
);
226228
}
227229
for ( AbstractEntityInsertAction dependentAction : dependentActions ) {
228-
if ( LOG.isTraceEnabled() ) {
230+
if ( traceEnabled ) {
229231
LOG.tracev(
230232
"Resolving insert [{0}] dependency on [{1}]",
231233
MessageHelper.infoString( dependentAction.getEntityName(), dependentAction.getId() ),
@@ -235,7 +237,7 @@ public Set<AbstractEntityInsertAction> resolveDependentActions(Object managedEnt
235237
NonNullableTransientDependencies dependencies = dependenciesByAction.get( dependentAction );
236238
dependencies.resolveNonNullableTransientEntity( managedEntity );
237239
if ( dependencies.isEmpty() ) {
238-
if ( LOG.isTraceEnabled() ) {
240+
if ( traceEnabled ) {
239241
LOG.tracev(
240242
"Resolving insert [{0}] (only depended on [{1}])",
241243
dependentAction,
@@ -247,7 +249,7 @@ public Set<AbstractEntityInsertAction> resolveDependentActions(Object managedEnt
247249
resolvedActions.add( dependentAction );
248250
}
249251
}
250-
if ( LOG.isTraceEnabled() ) {
252+
if ( traceEnabled ) {
251253
LOG.tracev(
252254
"Unresolved inserts after resolving [{0}]: [{1}]",
253255
MessageHelper.infoString( entityEntry.getEntityName(), entityEntry.getId() ),

hibernate-core/src/main/java/org/hibernate/cfg/AnnotationBinder.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1471,7 +1471,8 @@ private static void processElementAnnotations(
14711471
* ordering does not matter
14721472
*/
14731473

1474-
if ( LOG.isTraceEnabled() ) {
1474+
final boolean traceEnabled = LOG.isTraceEnabled();
1475+
if ( traceEnabled ) {
14751476
LOG.tracev( "Processing annotations of {0}.{1}" , propertyHolder.getEntityName(), inferredData.getPropertyName() );
14761477
}
14771478

@@ -1537,7 +1538,7 @@ private static void processElementAnnotations(
15371538
+ propertyHolder.getEntityName()
15381539
);
15391540
}
1540-
if ( LOG.isTraceEnabled() ) {
1541+
if ( traceEnabled ) {
15411542
LOG.tracev( "{0} is a version property", inferredData.getPropertyName() );
15421543
}
15431544
RootClass rootClass = ( RootClass ) propertyHolder.getPersistentClass();
@@ -1563,7 +1564,7 @@ private static void processElementAnnotations(
15631564
SimpleValue simpleValue = ( SimpleValue ) prop.getValue();
15641565
simpleValue.setNullValue( "undefined" );
15651566
rootClass.setOptimisticLockMode( Versioning.OPTIMISTIC_LOCK_VERSION );
1566-
if ( LOG.isTraceEnabled() ) {
1567+
if ( traceEnabled ) {
15671568
LOG.tracev( "Version name: {0}, unsavedValue: {1}", rootClass.getVersion().getName(),
15681569
( (SimpleValue) rootClass.getVersion().getValue() ).getNullValue() );
15691570
}

hibernate-core/src/main/java/org/hibernate/cfg/CollectionSecondPass.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,12 +61,15 @@ public CollectionSecondPass(Mappings mappings, Collection collection) {
6161

6262
public void doSecondPass(java.util.Map persistentClasses)
6363
throws MappingException {
64-
LOG.debugf( "Second pass for collection: %s", collection.getRole() );
64+
final boolean debugEnabled = LOG.isDebugEnabled();
65+
if ( debugEnabled ) {
66+
LOG.debugf( "Second pass for collection: %s", collection.getRole() );
67+
}
6568

6669
secondPass( persistentClasses, localInheritedMetas ); // using local since the inheritedMetas at this point is not the correct map since it is always the empty map
6770
collection.createAllKeys();
6871

69-
if ( LOG.isDebugEnabled() ) {
72+
if ( debugEnabled ) {
7073
String msg = "Mapped collection key: " + columns( collection.getKey() );
7174
if ( collection.isIndexed() )
7275
msg += ", index: " + columns( ( (IndexedCollection) collection ).getIndex() );

hibernate-core/src/main/java/org/hibernate/cfg/HbmBinder.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2656,6 +2656,7 @@ private static void bindManyToManySubelements(
26562656
"not valid within collection using join fetching [" + collection.getRole() + "]"
26572657
);
26582658
}
2659+
final boolean debugEnabled = LOG.isDebugEnabled();
26592660
while ( filters.hasNext() ) {
26602661
final Element filterElement = ( Element ) filters.next();
26612662
final String name = filterElement.attributeValue( "name" );
@@ -2673,7 +2674,7 @@ private static void bindManyToManySubelements(
26732674
Element alias = (Element) aliasesIterator.next();
26742675
aliasTables.put(alias.attributeValue("alias"), alias.attributeValue("table"));
26752676
}
2676-
if ( LOG.isDebugEnabled() ) {
2677+
if ( debugEnabled ) {
26772678
LOG.debugf( "Applying many-to-many filter [%s] as [%s] to role [%s]", name, condition, collection.getRole() );
26782679
}
26792680
String autoAliasInjectionText = filterElement.attributeValue("autoAliasInjection");

hibernate-core/src/main/java/org/hibernate/cfg/annotations/CollectionBinder.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -755,7 +755,9 @@ protected void bindOneToManySecondPass(
755755
String hqlOrderBy,
756756
Mappings mappings,
757757
Map<XClass, InheritanceState> inheritanceStatePerClass) {
758-
if ( LOG.isDebugEnabled() ) {
758+
759+
final boolean debugEnabled = LOG.isDebugEnabled();
760+
if ( debugEnabled ) {
759761
LOG.debugf( "Binding a OneToMany: %s.%s through a foreign key", propertyHolder.getEntityName(), propertyName );
760762
}
761763
org.hibernate.mapping.OneToMany oneToMany = new org.hibernate.mapping.OneToMany( mappings, collection.getOwner() );
@@ -784,7 +786,7 @@ protected void bindOneToManySecondPass(
784786
column.setJoins( joins );
785787
collection.setCollectionTable( column.getTable() );
786788
}
787-
if ( LOG.isDebugEnabled() ) {
789+
if ( debugEnabled ) {
788790
LOG.debugf( "Mapping collection: %s -> %s", collection.getRole(), collection.getCollectionTable().getName() );
789791
}
790792
bindFilters( false );

hibernate-core/src/main/java/org/hibernate/engine/internal/Cascade.java

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,8 @@ public void cascade(final EntityPersister persister, final Object parent, final
146146
throws HibernateException {
147147

148148
if ( persister.hasCascades() || action.requiresNoCascadeChecking() ) { // performance opt
149-
if ( LOG.isTraceEnabled() ) {
149+
final boolean traceEnabled = LOG.isTraceEnabled();
150+
if ( traceEnabled ) {
150151
LOG.tracev( "Processing cascade {0} for: {1}", action, persister.getEntityName() );
151152
}
152153

@@ -183,7 +184,7 @@ else if ( action.requiresNoCascadeChecking() ) {
183184
}
184185
}
185186

186-
if ( LOG.isTraceEnabled() ) {
187+
if ( traceEnabled ) {
187188
LOG.tracev( "Done processing cascade {0} for: {1}", action, persister.getEntityName() );
188189
}
189190
}
@@ -407,7 +408,8 @@ private void cascadeCollectionElements(
407408
boolean reallyDoCascade = style.reallyDoCascade(action) && child!=CollectionType.UNFETCHED_COLLECTION;
408409

409410
if ( reallyDoCascade ) {
410-
if ( LOG.isTraceEnabled() ) {
411+
final boolean traceEnabled = LOG.isTraceEnabled();
412+
if ( traceEnabled ) {
411413
LOG.tracev( "Cascade {0} for collection: {1}", action, collectionType.getRole() );
412414
}
413415

@@ -424,7 +426,7 @@ private void cascadeCollectionElements(
424426
);
425427
}
426428

427-
if ( LOG.isTraceEnabled() ) {
429+
if ( traceEnabled ) {
428430
LOG.tracev( "Done cascade {0} for collection: {1}", action, collectionType.getRole() );
429431
}
430432
}
@@ -435,7 +437,8 @@ private void cascadeCollectionElements(
435437
child instanceof PersistentCollection; //a newly instantiated collection can't have orphans
436438

437439
if ( deleteOrphans ) { // handle orphaned entities!!
438-
if ( LOG.isTraceEnabled() ) {
440+
final boolean traceEnabled = LOG.isTraceEnabled();
441+
if ( traceEnabled ) {
439442
LOG.tracev( "Deleting orphans for collection: {0}", collectionType.getRole() );
440443
}
441444
// we can do the cast since orphan-delete does not apply to:
@@ -444,7 +447,7 @@ private void cascadeCollectionElements(
444447
final String entityName = collectionType.getAssociatedEntityName( eventSource.getFactory() );
445448
deleteOrphans( entityName, (PersistentCollection) child );
446449

447-
if ( LOG.isTraceEnabled() ) {
450+
if ( traceEnabled ) {
448451
LOG.tracev( "Done deleting orphans for collection: {0}", collectionType.getRole() );
449452
}
450453
}

hibernate-core/src/main/java/org/hibernate/engine/internal/Collections.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ private static void processDereferencedCollection(PersistentCollection coll, Ses
7272
CollectionEntry entry = persistenceContext.getCollectionEntry(coll);
7373
final CollectionPersister loadedPersister = entry.getLoadedPersister();
7474

75-
if ( LOG.isDebugEnabled() && loadedPersister != null ) {
75+
if ( loadedPersister != null && LOG.isDebugEnabled() ) {
7676
LOG.debugf(
7777
"Collection dereferenced: %s",
7878
MessageHelper.collectionInfoString( loadedPersister,

hibernate-core/src/main/java/org/hibernate/engine/internal/ParameterBinder.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,7 @@ public static int bindNamedParameters(
112112
final NamedParameterSource source,
113113
final SessionImplementor session) throws SQLException, HibernateException {
114114
if ( namedParams != null ) {
115+
final boolean debugEnabled = LOG.isDebugEnabled();
115116
// assumes that types are all of span 1
116117
Iterator iter = namedParams.entrySet().iterator();
117118
int result = 0;
@@ -121,7 +122,7 @@ public static int bindNamedParameters(
121122
TypedValue typedval = (TypedValue) e.getValue();
122123
int[] locations = source.getNamedParameterLocations( name );
123124
for ( int i = 0; i < locations.length; i++ ) {
124-
if ( LOG.isDebugEnabled() ) {
125+
if ( debugEnabled ) {
125126
LOG.debugf("bindNamedParameters() %s -> %s [%s]", typedval.getValue(), name, locations[i] + start);
126127
}
127128
typedval.getType().nullSafeSet( ps, typedval.getValue(), locations[i] + start, session );

hibernate-core/src/main/java/org/hibernate/engine/internal/TwoPhaseLoad.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ public static void postHydrate(
101101
lazyPropertiesAreUnfetched
102102
);
103103

104-
if ( LOG.isTraceEnabled() && version != null ) {
104+
if ( version != null && LOG.isTraceEnabled() ) {
105105
String versionStr = persister.isVersioned()
106106
? persister.getVersionType().toLoggableString( version, session.getFactory() )
107107
: "null";
@@ -153,7 +153,8 @@ private static void doInitializeEntity(
153153
Serializable id = entityEntry.getId();
154154
Object[] hydratedState = entityEntry.getLoadedState();
155155

156-
if ( LOG.isDebugEnabled() ) {
156+
final boolean debugEnabled = LOG.isDebugEnabled();
157+
if ( debugEnabled ) {
157158
LOG.debugf(
158159
"Resolving associations for %s",
159160
MessageHelper.infoString( persister, id, session.getFactory() )
@@ -187,7 +188,7 @@ private static void doInitializeEntity(
187188
final SessionFactoryImplementor factory = session.getFactory();
188189
if ( persister.hasCache() && session.getCacheMode().isPutEnabled() ) {
189190

190-
if ( LOG.isDebugEnabled() ) {
191+
if ( debugEnabled ) {
191192
LOG.debugf(
192193
"Adding entity to second-level cache: %s",
193194
MessageHelper.infoString( persister, id, session.getFactory() )
@@ -272,7 +273,7 @@ private static void doInitializeEntity(
272273
session
273274
);
274275

275-
if ( LOG.isDebugEnabled() ) {
276+
if ( debugEnabled ) {
276277
LOG.debugf(
277278
"Done materializing entity %s",
278279
MessageHelper.infoString( persister, id, session.getFactory() )

hibernate-core/src/main/java/org/hibernate/engine/jdbc/spi/SqlExceptionHelper.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -136,11 +136,14 @@ public void logExceptions( SQLException sqlException,
136136
if (LOG.isEnabled(Level.ERROR)) {
137137
if (LOG.isDebugEnabled()) {
138138
message = StringHelper.isNotEmpty(message) ? message : DEFAULT_EXCEPTION_MSG;
139-
LOG.debug( message, sqlException );
139+
LOG.debug( message, sqlException );
140140
}
141+
final boolean warnEnabled = LOG.isEnabled( Level.WARN );
141142
while (sqlException != null) {
142-
StringBuilder buf = new StringBuilder(30).append("SQL Error: ").append(sqlException.getErrorCode()).append(", SQLState: ").append(sqlException.getSQLState());
143-
LOG.warn(buf.toString());
143+
if ( warnEnabled ) {
144+
StringBuilder buf = new StringBuilder(30).append("SQL Error: ").append(sqlException.getErrorCode()).append(", SQLState: ").append(sqlException.getSQLState());
145+
LOG.warn(buf.toString());
146+
}
144147
LOG.error(sqlException.getMessage());
145148
sqlException = sqlException.getNextException();
146149
}

0 commit comments

Comments
 (0)