* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
public static final String SPECIAL_LOG_SLOT = "SPECIAL_LOG_SLOT";
public static final int BUCKETSIZE = 2;
-
+
public AuthzTransFilter(AuthzEnv env, Connector con, TrustChecker tc, Object ... additionalTafLurs) throws CadiException, LocatorException {
super(env.access(),con, tc, additionalTafLurs);
this.env = env;
specialLogSlot = env.slot(SPECIAL_LOG_SLOT);
}
}
-
+
@Override
protected AuthzTrans newTrans(HttpServletRequest req, HttpServletResponse resp) {
AuthzTrans at = env.newTrans();
protected void tallyHo(AuthzTrans trans, String target) {
Boolean b = trans.get(specialLogSlot, false);
LogTarget lt = b?trans.warn():trans.debug();
-
+
if (lt.isLoggable()) {
// Transaction is done, now post full Audit Trail
StringBuilder sb = new StringBuilder("AuditTrail\n");
for (int i=0;i<serviceMetric.buckets.length;++i) {
serviceMetric.buckets[i]+=m.buckets[i];
}
-
+
Long tsi;
if ((tsi=trans.get(transIDslot, null))!=null) {
sb.append(" TraceID=");
} else {
// Single Line entry
// IMPORTANT!!! if you add more entries here, change "BUCKETSIZE"!!!
- StringBuilder content = new StringBuilder();
+ StringBuilder content = new StringBuilder();
Metric m = trans.auditTrail(lt,1, content, Env.REMOTE,Env.JSON);
// Add current Metrics to total metrics
serviceMetric.total+= m.total;
for (int i=0;i<serviceMetric.buckets.length;++i) {
serviceMetric.buckets[i]+=m.buckets[i];
}
-
+
StringBuilder sb = new StringBuilder();
sb.append("user=");
Principal p = trans.getUserPrincipal();
sb.append('(');
sb.append(((TrustPrincipal)p).personalName()); // UserChain
sb.append(')');
- } else {
+ } else {
sb.append('[');
if (p instanceof TaggedPrincipal) {
sb.append(((TaggedPrincipal)p).tag());
}
sb.append('"');
}
-
+
lt.log(sb);
}
}