Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (101)
JavaBeans (21)
JDBC (121)
JDK (426)
JSP (20)
Logging (108)
Mail (58)
Messaging (8)
Network (84)
PDF (97)
Report (7)
Scripting (84)
Security (32)
Server (121)
Servlet (26)
SOAP (24)
Testing (54)
Web (15)
XML (309)
Collections:
Other Resources:
Source Code for SLF4J Simple Logging
SLF4J Simple Logging is a simple logging library that implements the SLF4J API.
Here is the source code for SLF4J Simple Logging 2.0.4. You can download its pre-compiled version slf4j-simple-2.0.4.jar at SLF4J Download Website.
✍:
⏎ org/slf4j/simple/SimpleLoggerConfiguration.java
package org.slf4j.simple; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.InputStream; import java.io.PrintStream; import java.security.AccessController; import java.security.PrivilegedAction; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Properties; import org.slf4j.helpers.Util; import org.slf4j.simple.OutputChoice.OutputChoiceType; /** * This class holds configuration values for {@link SimpleLogger}. The * values are computed at runtime. See {@link SimpleLogger} documentation for * more information. * * * @author Ceki Gülcü * @author Scott Sanders * @author Rod Waldhoff * @author Robert Burrell Donkin * @author Cédrik LIME * * @since 1.7.25 */ public class SimpleLoggerConfiguration { private static final String CONFIGURATION_FILE = "simplelogger.properties"; static int DEFAULT_LOG_LEVEL_DEFAULT = SimpleLogger.LOG_LEVEL_INFO; int defaultLogLevel = DEFAULT_LOG_LEVEL_DEFAULT; private static final boolean SHOW_DATE_TIME_DEFAULT = false; boolean showDateTime = SHOW_DATE_TIME_DEFAULT; private static final String DATE_TIME_FORMAT_STR_DEFAULT = null; private static String dateTimeFormatStr = DATE_TIME_FORMAT_STR_DEFAULT; DateFormat dateFormatter = null; private static final boolean SHOW_THREAD_NAME_DEFAULT = true; boolean showThreadName = SHOW_THREAD_NAME_DEFAULT; /** * See https://jira.qos.ch/browse/SLF4J-499 * @since 1.7.33 and 2.0.0-alpha6 */ private static final boolean SHOW_THREAD_ID_DEFAULT = false; boolean showThreadId = SHOW_THREAD_ID_DEFAULT; final static boolean SHOW_LOG_NAME_DEFAULT = true; boolean showLogName = SHOW_LOG_NAME_DEFAULT; private static final boolean SHOW_SHORT_LOG_NAME_DEFAULT = false; boolean showShortLogName = SHOW_SHORT_LOG_NAME_DEFAULT; private static final boolean LEVEL_IN_BRACKETS_DEFAULT = false; boolean levelInBrackets = LEVEL_IN_BRACKETS_DEFAULT; private static final String LOG_FILE_DEFAULT = "System.err"; private String logFile = LOG_FILE_DEFAULT; OutputChoice outputChoice = null; private static final boolean CACHE_OUTPUT_STREAM_DEFAULT = false; private boolean cacheOutputStream = CACHE_OUTPUT_STREAM_DEFAULT; private static final String WARN_LEVELS_STRING_DEFAULT = "WARN"; String warnLevelString = WARN_LEVELS_STRING_DEFAULT; private final Properties properties = new Properties(); void init() { loadProperties(); String defaultLogLevelString = getStringProperty(SimpleLogger.DEFAULT_LOG_LEVEL_KEY, null); if (defaultLogLevelString != null) defaultLogLevel = stringToLevel(defaultLogLevelString); showLogName = getBooleanProperty(SimpleLogger.SHOW_LOG_NAME_KEY, SimpleLoggerConfiguration.SHOW_LOG_NAME_DEFAULT); showShortLogName = getBooleanProperty(SimpleLogger.SHOW_SHORT_LOG_NAME_KEY, SHOW_SHORT_LOG_NAME_DEFAULT); showDateTime = getBooleanProperty(SimpleLogger.SHOW_DATE_TIME_KEY, SHOW_DATE_TIME_DEFAULT); showThreadName = getBooleanProperty(SimpleLogger.SHOW_THREAD_NAME_KEY, SHOW_THREAD_NAME_DEFAULT); showThreadId = getBooleanProperty(SimpleLogger.SHOW_THREAD_ID_KEY, SHOW_THREAD_ID_DEFAULT); dateTimeFormatStr = getStringProperty(SimpleLogger.DATE_TIME_FORMAT_KEY, DATE_TIME_FORMAT_STR_DEFAULT); levelInBrackets = getBooleanProperty(SimpleLogger.LEVEL_IN_BRACKETS_KEY, LEVEL_IN_BRACKETS_DEFAULT); warnLevelString = getStringProperty(SimpleLogger.WARN_LEVEL_STRING_KEY, WARN_LEVELS_STRING_DEFAULT); logFile = getStringProperty(SimpleLogger.LOG_FILE_KEY, logFile); cacheOutputStream = getBooleanProperty(SimpleLogger.CACHE_OUTPUT_STREAM_STRING_KEY, CACHE_OUTPUT_STREAM_DEFAULT); outputChoice = computeOutputChoice(logFile, cacheOutputStream); if (dateTimeFormatStr != null) { try { dateFormatter = new SimpleDateFormat(dateTimeFormatStr); } catch (IllegalArgumentException e) { Util.report("Bad date format in " + CONFIGURATION_FILE + "; will output relative time", e); } } } private void loadProperties() { // Add props from the resource simplelogger.properties InputStream in = AccessController.doPrivileged((PrivilegedAction<InputStream>) () -> { ClassLoader threadCL = Thread.currentThread().getContextClassLoader(); if (threadCL != null) { return threadCL.getResourceAsStream(CONFIGURATION_FILE); } else { return ClassLoader.getSystemResourceAsStream(CONFIGURATION_FILE); } }); if (null != in) { try { properties.load(in); } catch (java.io.IOException e) { // ignored } finally { try { in.close(); } catch (java.io.IOException e) { // ignored } } } } String getStringProperty(String name, String defaultValue) { String prop = getStringProperty(name); return (prop == null) ? defaultValue : prop; } boolean getBooleanProperty(String name, boolean defaultValue) { String prop = getStringProperty(name); return (prop == null) ? defaultValue : "true".equalsIgnoreCase(prop); } String getStringProperty(String name) { String prop = null; try { prop = System.getProperty(name); } catch (SecurityException e) { ; // Ignore } return (prop == null) ? properties.getProperty(name) : prop; } static int stringToLevel(String levelStr) { if ("trace".equalsIgnoreCase(levelStr)) { return SimpleLogger.LOG_LEVEL_TRACE; } else if ("debug".equalsIgnoreCase(levelStr)) { return SimpleLogger.LOG_LEVEL_DEBUG; } else if ("info".equalsIgnoreCase(levelStr)) { return SimpleLogger.LOG_LEVEL_INFO; } else if ("warn".equalsIgnoreCase(levelStr)) { return SimpleLogger.LOG_LEVEL_WARN; } else if ("error".equalsIgnoreCase(levelStr)) { return SimpleLogger.LOG_LEVEL_ERROR; } else if ("off".equalsIgnoreCase(levelStr)) { return SimpleLogger.LOG_LEVEL_OFF; } // assume INFO by default return SimpleLogger.LOG_LEVEL_INFO; } private static OutputChoice computeOutputChoice(String logFile, boolean cacheOutputStream) { if ("System.err".equalsIgnoreCase(logFile)) if (cacheOutputStream) return new OutputChoice(OutputChoiceType.CACHED_SYS_ERR); else return new OutputChoice(OutputChoiceType.SYS_ERR); else if ("System.out".equalsIgnoreCase(logFile)) { if (cacheOutputStream) return new OutputChoice(OutputChoiceType.CACHED_SYS_OUT); else return new OutputChoice(OutputChoiceType.SYS_OUT); } else { try { FileOutputStream fos = new FileOutputStream(logFile); PrintStream printStream = new PrintStream(fos); return new OutputChoice(printStream); } catch (FileNotFoundException e) { Util.report("Could not open [" + logFile + "]. Defaulting to System.err", e); return new OutputChoice(OutputChoiceType.SYS_ERR); } } } }
⏎ org/slf4j/simple/SimpleLoggerConfiguration.java
Or download all of them as a single archive file:
File name: slf4j-simple-2.0.4-sources.jar File size: 12080 bytes Release date: 2022-11-17 Download
⇒ Source Code for SLF4J Bridge to JDK
2021-11-30, 2425👍, 0💬
Popular Posts:
Guava is a suite of core and expanded libraries that include utility classes, google's collections, ...
Apache Log4j IOStreams is a Log4j API extension that provides numerous classes from java.io that can...
What is ojdbc.jar - JDBC Driver for Oracle? ojdbc.jar is a JDBC driver from Oracle that provides dat...
What Is ojdbc7.jar for Oracle 12c R1? ojdbc7.jar for Oracle 12c R1 is the JAR files of ojdbc.jar, JD...
How to show the XML parsing flow with sax\DocumentTracer.java provided in the Apache Xerces package?...