LoggerDetails.java :  » Portal » Open-Portal » com » sun » portal » log » common » Java Open Source

Java Open Source » Portal » Open Portal 
Open Portal » com » sun » portal » log » common » LoggerDetails.java
package com.sun.portal.log.common;

import java.util.logging.Handler;

/**
 *
 */
public class LoggerDetails {

    static final String DELIMITER = "\t";
    static final String LINE_SEPARATOR = System.getProperty("line.separator");

    private String[] handlers;
    private String loggerName;
    private String level;
    private String logToParent;
    private String stackTraceValue;
    private String pattern;

    public String getLoggerName() {
        return loggerName;
    }

    public void setLoggerName(String loggerName) {
        this.loggerName = loggerName;
    }

    public String[] getHandlers() {
        return handlers;
    }

    public void setHandlers(String[] handlers) {
        this.handlers = handlers;
    }

    public String getLevel() {
        return level;
    }

    public void setLevel(String level) {
        this.level = level;
    }

    public String isLogToParent() {
        return logToParent;
    }

    public void setLogToParent(String logToParent) {
        this.logToParent = logToParent;
    }

    public String getStackTraceValue() {
        return stackTraceValue;
    }

    public void setStackTraceValue(String stackTraceValue) {
        this.stackTraceValue = stackTraceValue;
    }

    public String getPattern() {
        return pattern;
    }

    public void setPattern(String pattern) {
        this.pattern = pattern;
    }

    public String format(boolean fileInfo, boolean useServerLogs) {
        StringBuffer loggerDetail = new StringBuffer();

        // LoggerName
        if(getLoggerName() != null) {
            loggerDetail.append(getLoggerName());
            loggerDetail.append(LINE_SEPARATOR);
        }

        // Level
        if(getLevel() != null) {
            loggerDetail.append("Level=");
            loggerDetail.append(getLevel().toString());
        }

        if(fileInfo) {
            // Log to Parent
            loggerDetail.append(DELIMITER);
            loggerDetail.append("Use Parent Handler=");
            loggerDetail.append(isLogToParent());

            // Print Handler and Stacktrace info only if the pattern is present

            // Handler
            StringBuffer handlersValue = new StringBuffer();
            boolean fileHandlerInUse = false;
            String[] handlers = getHandlers();
            if(!useServerLogs) {
                if(handlers != null && handlers.length != 0) {
                    for (int j = 0; j < handlers.length; j++) {
                        if(handlers[j].equals("java.util.logging.FileHandler"))
                            fileHandlerInUse = true;
                        handlersValue.append(handlers[j]);
                        if(j+1 != handlers.length)
                            handlersValue.append(",");
                    }
                }
            }

            // Pattern
            loggerDetail.append(DELIMITER);
            if(getPattern() != null && fileHandlerInUse) {
                loggerDetail.append("Handler=");
                loggerDetail.append(handlersValue);
                loggerDetail.append(DELIMITER);
                loggerDetail.append("Logs to File=");
                loggerDetail.append(getPattern());
                // Stack-trace
                if(getStackTraceValue() != null) {
                    loggerDetail.append(DELIMITER);
                    loggerDetail.append("Print Stacktrace=");
                    loggerDetail.append(getStackTraceValue());
                }
            }
        }

        return loggerDetail.toString();
    }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.