MessageFormatter.java 1.57 KB
/*
 * Decompiled with CFR 0_118.
 */
package com.scene7.is.ps.provider.logging;

import java.io.PrintWriter;
import java.io.StringWriter;
import java.io.Writer;
import java.security.AccessController;
import java.util.logging.Formatter;
import java.util.logging.Handler;
import java.util.logging.Level;
import java.util.logging.LogRecord;
import sun.security.action.GetPropertyAction;

class MessageFormatter
extends Formatter {
    private String lineSeparator = (String)AccessController.doPrivileged(new GetPropertyAction("line.separator"));

    MessageFormatter() {
    }

    @Override
    public synchronized String format(LogRecord record) {
        StringBuffer sb = new StringBuffer();
        sb.append("[");
        sb.append(Thread.currentThread().getName());
        sb.append("] [");
        String message = this.formatMessage(record);
        sb.append(record.getLoggerName());
        sb.append(".");
        sb.append(record.getLevel().getLocalizedName());
        sb.append("]: ");
        sb.append(message);
        sb.append(this.lineSeparator);
        if (record.getThrown() != null) {
            try {
                StringWriter sw = new StringWriter();
                PrintWriter pw = new PrintWriter(sw);
                record.getThrown().printStackTrace(pw);
                pw.close();
                sb.append(sw.toString());
            }
            catch (Exception ex) {
                // empty catch block
            }
        }
        return sb.toString();
    }

    @Override
    public String getHead(Handler g) {
        return this.lineSeparator;
    }
}