-public class PolicyAccess implements Access {
- private static final Logger logger = Logger.getLogger(PolicyAccess.class.getName());
-
- private Properties properties = new Properties();
- private Access.Level logLevel = Access.Level.INFO;
-
- public PolicyAccess(Properties properties, Level level) {
- this.properties = properties;
- if(level!=null){
- logLevel = level;
- }
- }
-
- @Override
- public ClassLoader classLoader() {
- return getClass().getClassLoader();
- }
-
- @Override
- public String decrypt(String enc, boolean arg1) throws IOException {
- return enc;
- }
-
- @Override
- public String getProperty(String prop, String def) {
- return properties.getProperty(prop, def);
- }
-
- @Override
- public void load(InputStream in) throws IOException {
- properties.load(in);
- }
-
- @Override
- public void log(Level level, Object... args) {
- if (logLevel.compareTo(level) > 0) {
- return;
- }
- StringBuffer sb = new StringBuffer();
- sb.append(new Date()).append(' ').append(level);
- logtail(sb, args);
- }
-
- @Override
- public void log(Exception e, Object... args) {
- StringBuffer sb = new StringBuffer();
- sb.append(new Date()).append(" EXCEPTION ").append(e.getMessage());
- logtail(sb, args);
- logger.error(e.getMessage() + e);
- }
-
- @Override
- public void setLogLevel(Level level) {
- logLevel = level;
- }
-
- private void logtail(StringBuffer sb, Object[] args) {
- for (Object o: args) {
- String s = o.toString();
- if (s.length() > 0) {
- sb.append(' ').append(s);
- }
- }
- logger.info(sb.toString());