Skip to content

Commit b53358c

Browse files
committed
Add debug log to RoleManager
1 parent 12013b2 commit b53358c

File tree

1 file changed

+15
-2
lines changed

1 file changed

+15
-2
lines changed

horreum-backend/src/main/java/io/hyperfoil/tools/horreum/server/RoleManager.java

+15-2
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,26 @@
22

33
import java.util.ArrayList;
44
import java.util.List;
5+
6+
import io.quarkus.logging.Log;
57
import jakarta.enterprise.context.ApplicationScoped;
68
import jakarta.inject.Inject;
79
import jakarta.persistence.EntityManager;
810
import jakarta.persistence.Query;
911

1012
import io.quarkus.security.identity.SecurityIdentity;
13+
import jakarta.transaction.SystemException;
14+
import jakarta.transaction.TransactionManager;
1115

1216
@ApplicationScoped
1317
public class RoleManager {
1418
static final String SET_ROLES = "SELECT current_setting('horreum.userroles', true), set_config('horreum.userroles', ?, false)";
1519
static final String SET_TOKEN = "SELECT set_config('horreum.token', ?, false)";
1620
static final CloseMe NOOP = () -> {};
1721

18-
@Inject
19-
EntityManager em;
22+
@Inject EntityManager em;
23+
24+
@Inject TransactionManager txManager;
2025

2126
String setRoles(Iterable<String> roles) {
2227
return setRoles(String.join(",", roles));
@@ -26,6 +31,14 @@ String setRoles(String roles) {
2631
Query setRoles = em.createNativeQuery(SET_ROLES);
2732
setRoles.setParameter(1, roles == null ? "" : roles);
2833
Object[] row = (Object[]) setRoles.getSingleResult();
34+
35+
if (Log.isDebugEnabled()) { // enabe with: `quarkus.log.category."io.hyperfoil.tools.horreum.server.RoleManager".level=DEBUG`
36+
try {
37+
Log.debugv("Setting roles {0} (replacing {1}) on transaction {2}", roles, row[0], txManager.getTransaction());
38+
} catch (SystemException e) {
39+
Log.debugv("Setting roles {0} (replacing {1}), but obtaining current transaction failed due to {2}", roles, row[0], e.getMessage());
40+
}
41+
}
2942
return (String) row[0];
3043
}
3144

0 commit comments

Comments
 (0)