@Override public void setLoggerStatus(final Status newStatus) { config.lock(); try { if (newStatus == Status.DISABLE_NEXT && config.getLoggerStatus() == Status.DISABLED) { return; } config.setLoggerStatus(newStatus); if (newStatus == Status.LOGGING){ for (AuditLogItem record : queuedItems) { try { writeLogItem(record); } catch (Exception e) { handleLoggingException(e); } } queuedItems.clear(); } else if (newStatus == Status.DISABLED){ queuedItems.clear(); } runDisabledFastPath.set(false); } finally { config.unlock(); } }
@Override public void setLoggerStatus(final Status newStatus) { config.lock(); try { if (newStatus == Status.DISABLE_NEXT && config.getLoggerStatus() == Status.DISABLED) { return; } config.setLoggerStatus(newStatus); if (newStatus == Status.LOGGING){ for (AuditLogItem record : queuedItems) { try { writeLogItem(record); } catch (Exception e) { handleLoggingException(e); } } queuedItems.clear(); } else if (newStatus == Status.DISABLED){ queuedItems.clear(); } runDisabledFastPath.set(false); } finally { config.unlock(); } }
@Override public void setLoggerStatus(final Status newStatus) { config.lock(); try { if (newStatus == Status.DISABLE_NEXT && config.getLoggerStatus() == Status.DISABLED) { return; } config.setLoggerStatus(newStatus); if (newStatus == Status.LOGGING){ for (AuditLogItem record : queuedItems) { try { writeLogItem(record); } catch (Exception e) { handleLoggingException(e); } } } else if (newStatus == Status.DISABLED){ queuedItems.clear(); } } finally { config.unlock(); } }
@Override public void logJmxMethodAccess(boolean readOnly, String userId, String domainUUID, AccessMechanism accessMechanism, InetAddress remoteAddress, String methodName, String[] methodSignature, Object[] methodParams, Throwable error) { if (runDisabledFastPath.get()) return; config.lock(); try { if (skipLogging(readOnly)) { return; } storeLogItem( AuditLogItem.createMethodAccessItem(config.getAsVersion(), readOnly, config.isBooting(), userId, domainUUID, accessMechanism, remoteAddress, methodName, methodSignature, methodParams, error)); } catch (Exception e) { handleLoggingException(e); } finally { applyHandlerUpdates(); config.unlock(); } }
@Override public void log(boolean readOnly, ResultAction resultAction, String userId, String domainUUID, AccessMechanism accessMechanism, InetAddress remoteAddress, Resource resultantModel, List<ModelNode> operations) { if (runDisabledFastPath.get()) return; config.lock(); try { if (skipLogging(readOnly)) { return; } storeLogItem( AuditLogItem.createModelControllerItem(config.getAsVersion(), readOnly, config.isBooting(), resultAction, userId, domainUUID, accessMechanism, remoteAddress, resultantModel, operations)); } catch (Exception e) { handleLoggingException(e); } finally { applyHandlerUpdates(); config.unlock(); } }
@Override public void logJmxMethodAccess(boolean readOnly, String userId, String domainUUID, AccessMechanism accessMechanism, InetAddress remoteAddress, String methodName, String[] methodSignature, Object[] methodParams, Throwable error) { if (runDisabledFastPath.get()) return; config.lock(); try { if (skipLogging(readOnly)) { return; } storeLogItem( AuditLogItem.createMethodAccessItem(config.getAsVersion(), readOnly, config.isBooting(), userId, domainUUID, accessMechanism, remoteAddress, methodName, methodSignature, methodParams, error)); } catch (Exception e) { handleLoggingException(e); } finally { applyHandlerUpdates(); config.unlock(); } }
@Override public void log(boolean readOnly, ResultAction resultAction, String userId, String domainUUID, AccessMechanism accessMechanism, InetAddress remoteAddress, Resource resultantModel, List<ModelNode> operations) { if (runDisabledFastPath.get()) return; config.lock(); try { if (skipLogging(readOnly)) { return; } storeLogItem( AuditLogItem.createModelControllerItem(config.getAsVersion(), readOnly, config.isBooting(), resultAction, userId, domainUUID, accessMechanism, remoteAddress, resultantModel, operations)); } catch (Exception e) { handleLoggingException(e); } finally { applyHandlerUpdates(); config.unlock(); } }
@Override public void logJmxMethodAccess(boolean readOnly, String userId, String domainUUID, AccessMechanism accessMechanism, InetAddress remoteAddress, String methodName, String[] methodSignature, Object[] methodParams, Throwable error) { config.lock(); try { if (config.isBooting() && !isLogBoot()) { return; } if (readOnly && !isLogReadOnly()) { return; } storeLogItem( AuditLogItem.createMethodAccessItem(config.getAsVersion(), readOnly, config.isBooting(), userId, domainUUID, accessMechanism, remoteAddress, methodName, methodSignature, methodParams, error)); } catch (Exception e) { handleLoggingException(e); } finally { applyHandlerUpdates(); config.unlock(); } }
@Override public void log(boolean readOnly, ResultAction resultAction, String userId, String domainUUID, AccessMechanism accessMechanism, InetAddress remoteAddress, Resource resultantModel, List<ModelNode> operations) { config.lock(); try { if (config.isBooting() && !isLogBoot()) { return; } if (readOnly && !isLogReadOnly()) { return; } storeLogItem( AuditLogItem.createModelControllerItem(config.getAsVersion(), readOnly, config.isBooting(), resultAction, userId, domainUUID, accessMechanism, remoteAddress, resultantModel, operations)); } catch (Exception e) { handleLoggingException(e); } finally { applyHandlerUpdates(); config.unlock(); } }