001    /*
002     * Licensed to the Apache Software Foundation (ASF) under one or more
003     * contributor license agreements. See the NOTICE file distributed with
004     * this work for additional information regarding copyright ownership.
005     * The ASF licenses this file to You under the Apache license, Version 2.0
006     * (the "License"); you may not use this file except in compliance with
007     * the License. You may obtain a copy of the License at
008     *
009     *      http://www.apache.org/licenses/LICENSE-2.0
010     *
011     * Unless required by applicable law or agreed to in writing, software
012     * distributed under the License is distributed on an "AS IS" BASIS,
013     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014     * See the license for the specific language governing permissions and
015     * limitations under the license.
016     */
017    package org.apache.logging.log4j.core.util;
018    
019    import org.apache.logging.log4j.util.PropertiesUtil;
020    
021    import java.nio.charset.Charset;
022    
023    /**
024     * Log4j Constants.
025     */
026    public final class Constants {
027    
028        /**
029         * Name of the system property to use to identify the LogEvent factory.
030         */
031        public static final String LOG4J_LOG_EVENT_FACTORY = "Log4jLogEventFactory";
032    
033        /**
034         * Name of the system property to use to identify the ContextSelector Class.
035         */
036        public static final String LOG4J_CONTEXT_SELECTOR = "Log4jContextSelector";
037    
038        public static final String LOG4J_DEFAULT_STATUS_LEVEL = "Log4jDefaultStatusLevel";
039    
040        /**
041         * JNDI context name string literal.
042         */
043        public static final String JNDI_CONTEXT_NAME = "java:comp/env/log4j/context-name";
044    
045        /**
046         * Line separator.
047         */
048        public static final String LINE_SEPARATOR = PropertiesUtil.getProperties().getStringProperty("line.separator", "\n");
049    
050        /**
051         * Number of milliseconds in a second.
052         */
053        public static final int MILLIS_IN_SECONDS = 1000;
054        
055        /**
056         * Equivalent to StandardCharsets.UTF_8.
057         * @ToDo - Initialize with StandardCharsets.UTF_8 when Java 7 is the minimum version.
058         */
059        public static final Charset UTF_8 = Charset.forName("UTF-8");
060    
061        /**
062         * Prevent class instantiation.
063         */
064        private Constants() {
065        }
066    }