/* * ==================================================================== * Copyright (c) 2004-2012 TMate Software Ltd. All rights reserved. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://svnkit.com/license.html * If newer versions of this license are posted there, you may use a * newer version instead, at your option. * ==================================================================== */ package org.tmatesoft.svn.core.internal.util; import java.io.PrintWriter; import java.io.StringWriter; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; import java.util.logging.Formatter; import java.util.logging.LogRecord; /** * @version 1.3 * @author TMate Software Ltd. */ public class DefaultSVNDebugFormatter extends Formatter { private static final DateFormat DATE_FORMAT = new SimpleDateFormat("HH:mm:ss.SSS"); public String format(LogRecord record) { StringBuffer sb = new StringBuffer(); String message = formatMessage(record); sb.append("["); Date date = new Date(record.getMillis()); synchronized (DATE_FORMAT) { sb.append(DATE_FORMAT.format(date)); } sb.append("] "); sb.append(message); sb.append("\n"); 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 e) { } } return sb.toString(); } }