Java String Format createFormatter()

Here you can find the source of createFormatter()

Description

create Formatter

License

Apache License

Declaration

static Formatter createFormatter() 

Method Source Code


//package com.java2s;
/*/*  ww w.  ja va 2  s.c  o  m*/
 * Copyright 2013-2014 Odysseus Software GmbH
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

import java.text.MessageFormat;
import java.util.Date;

import java.util.logging.Formatter;

import java.util.logging.LogRecord;

public class Main {
    static Formatter createFormatter() {
        return new Formatter() {
            final MessageFormat messageFormat = new MessageFormat("{0}{1,date,HH:mm:ss} {2} - {3}{4}\n");

            @Override
            public synchronized String format(LogRecord record) {
                Object[] arguments = new Object[] { String.format("%-8s", record.getLevel()),
                        new Date(record.getMillis()),
                        record.getLoggerName() == null ? "<Unknown Logger>"
                                : record.getLoggerName().substring(record.getLoggerName().lastIndexOf('.') + 1),
                        record.getMessage() == null ? "<No Message>" : record.getMessage(),
                        record.getThrown() == null ? "" : ", " + record.getThrown() };
                return messageFormat.format(arguments);
            }
        };
    }
}

Related

  1. format(final String message, final Object... args)
  2. format(final String s, final int width, final int intend)
  3. format(String longMessage, int charPerLine, int paddingLeft, boolean padFirstLine)
  4. format(String name, char separator)