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();
}
}
|