/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You 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. */ package org.apache.tomee.jul.handler.rotating; import org.junit.Before; import org.junit.Test; import java.util.Locale; import java.util.logging.Level; import java.util.logging.LogRecord; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; public class LocalFileHandlerPatternFormatterTest { private Locale locale; @Before public void setLocale() { locale = Locale.getDefault(); Locale.setDefault(Locale.US); } @Before public void resetLocale() { Locale.setDefault(locale); } @Test public void format() { final LogRecord record = new LogRecord(Level.FINE, "test message"); record.setLoggerName("logger"); record.setLevel(Level.FINER); record.setMillis(123456789); record.setSourceClassName("my.class.Name"); record.setSourceMethodName("aMethod"); // default assertEquals( "Jan 02, 1970 my.class.Name aMethod\nFINER: test message\n", new LocalFileHandler.PatternFormatter("%1$tb %1$td, %1$tY %1$tl:%1$tM:%1$tS %1$Tp %2$s%n%4$s: %5$s%6$s%n", Locale.ENGLISH) .format(record).replace("\r", "").replaceFirst("1970.*my"/*skip time*/, "1970 my")); // simple assertEquals( "test message\n", new LocalFileHandler.PatternFormatter("%5$s%n", Locale.ENGLISH).format(record).replace("\r", "")); final String custom = new LocalFileHandler.PatternFormatter("%1$tY-%1$tM-%1$td %1$tT [%4$5s][%7$s] %5$s%6$s%n", Locale.ENGLISH) .format(record).replace("\r", ""); assertTrue(custom .matches("1970\\-17\\-02 \\p{Digit}+\\:17\\:36 \\[FINER\\]\\[my\\.class\\.Name\\] test message\\\n")); } }