Changed logging framework to SLF4J/Logback
This commit is contained in:
parent
8038ba2f56
commit
80c151aef8
23 changed files with 158 additions and 110 deletions
|
@ -5,6 +5,8 @@ import java.io.FileInputStream;
|
|||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.io.IOException;
|
||||
import java.nio.charset.Charset;
|
||||
import java.util.Date;
|
||||
import java.util.Properties;
|
||||
import javax.swing.JFileChooser;
|
||||
import javax.swing.JOptionPane;
|
||||
|
@ -13,8 +15,13 @@ import javax.swing.SwingUtilities;
|
|||
import javax.swing.UIManager;
|
||||
import javax.swing.UIManager.LookAndFeelInfo;
|
||||
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import ch.qos.logback.classic.LoggerContext;
|
||||
import ch.qos.logback.classic.spi.ILoggingEvent;
|
||||
import ch.qos.logback.classic.encoder.PatternLayoutEncoder;
|
||||
import ch.qos.logback.core.FileAppender;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.slf4j.bridge.SLF4JBridgeHandler;
|
||||
|
||||
import net.vhati.modmanager.cli.SlipstreamCLI;
|
||||
import net.vhati.modmanager.core.ComparableVersion;
|
||||
|
@ -25,7 +32,7 @@ import net.vhati.modmanager.ui.ManagerFrame;
|
|||
|
||||
public class FTLModManager {
|
||||
|
||||
private static final Logger log = LogManager.getLogger( FTLModManager.class );
|
||||
private static final Logger log = LoggerFactory.getLogger( FTLModManager.class );
|
||||
|
||||
public static final String APP_NAME = "Slipstream Mod Manager";
|
||||
public static final ComparableVersion APP_VERSION = new ComparableVersion( "1.9" );
|
||||
|
@ -34,8 +41,42 @@ public class FTLModManager {
|
|||
|
||||
|
||||
public static void main( String[] args ) {
|
||||
if ( args.length > 0 ) SlipstreamCLI.main( args );
|
||||
// Redirect any libraries' java.util.Logging messages.
|
||||
SLF4JBridgeHandler.removeHandlersForRootLogger();
|
||||
SLF4JBridgeHandler.install();
|
||||
|
||||
// Doing this here instead of in "logback.xml", allows for conditional log files.
|
||||
// For example, the app could decide not to or in a different place.
|
||||
|
||||
// Fork log into a file.
|
||||
LoggerContext lc = (LoggerContext)LoggerFactory.getILoggerFactory();
|
||||
|
||||
PatternLayoutEncoder encoder = new PatternLayoutEncoder();
|
||||
encoder.setContext( lc );
|
||||
encoder.setCharset( Charset.forName( "UTF-8" ) );
|
||||
encoder.setPattern( "%d{HH:mm:ss.SSS} [%thread] %-5level %logger{5} - %msg%n" );
|
||||
encoder.start();
|
||||
|
||||
FileAppender<ILoggingEvent> fileAppender = new FileAppender<ILoggingEvent>();
|
||||
fileAppender.setContext( lc );
|
||||
fileAppender.setName( "LogFile" );
|
||||
fileAppender.setFile( new File( "./modman-log.txt" ).getAbsolutePath() );
|
||||
fileAppender.setAppend( false );
|
||||
fileAppender.setEncoder( encoder );
|
||||
fileAppender.start();
|
||||
|
||||
lc.getLogger( Logger.ROOT_LOGGER_NAME ).addAppender( fileAppender );
|
||||
|
||||
// Log a welcome message.
|
||||
log.debug( "Started: {}", new Date() );
|
||||
log.debug( "{} v{}", APP_NAME, APP_VERSION );
|
||||
log.debug( "OS: {} {}", System.getProperty( "os.name" ), System.getProperty( "os.version" ) );
|
||||
log.debug( "VM: {}, {}, {}", System.getProperty( "java.vm.name" ), System.getProperty( "java.version" ), System.getProperty( "os.arch" ) );
|
||||
|
||||
if ( args.length > 0 ) {
|
||||
SlipstreamCLI.main( args );
|
||||
return;
|
||||
}
|
||||
|
||||
// Ensure all popups are triggered from the event dispatch thread.
|
||||
|
||||
|
@ -50,15 +91,12 @@ public class FTLModManager {
|
|||
|
||||
private static void guiInit() {
|
||||
try {
|
||||
log.debug( String.format( "%s v%s", APP_NAME, APP_VERSION ) );
|
||||
log.debug( String.format( "%s %s", System.getProperty( "os.name" ), System.getProperty( "os.version" ) ) );
|
||||
log.debug( String.format( "%s, %s, %s", System.getProperty( "java.vm.name" ), System.getProperty( "java.version" ), System.getProperty( "os.arch" ) ) );
|
||||
|
||||
// Nag if the jar was double-clicked.
|
||||
if ( new File( "./mods/" ).exists() == false ) {
|
||||
String currentPath = new File( "." ).getAbsoluteFile().getParentFile().getAbsolutePath();
|
||||
|
||||
log.error( String.format( "Slipstream could not find its own folder (Currently in \"%s\"), exiting...", currentPath ) );
|
||||
showErrorDialog( String.format( "Slipstream could not find its own folder.\nCurrently in: %s\n\nRun one of the following instead of the jar...\nWindows: modman.exe or modman_admin.exe\nLinux/OSX: modman.command or modman-cli.sh\n\nThe Mod Manager will now exit.", currentPath ) );
|
||||
System.err.println( String.format( "Slipstream could not find its own folder (Currently in \"%s\"), exiting.", currentPath ) );
|
||||
|
||||
throw new ExitException();
|
||||
}
|
||||
|
|
|
@ -23,8 +23,8 @@ import org.apache.commons.cli.CommandLine;
|
|||
import org.apache.commons.cli.HelpFormatter;
|
||||
import org.apache.commons.cli.ParseException;
|
||||
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import net.vhati.ftldat.AbstractPack;
|
||||
import net.vhati.ftldat.FolderPack;
|
||||
|
@ -44,7 +44,7 @@ import net.vhati.modmanager.core.SlipstreamConfig;
|
|||
|
||||
public class SlipstreamCLI {
|
||||
|
||||
private static final Logger log = LogManager.getLogger(SlipstreamCLI.class);
|
||||
private static final Logger log = LoggerFactory.getLogger( SlipstreamCLI.class );
|
||||
|
||||
private static File backupDir = new File( "./backup/" );
|
||||
private static File modsDir = new File( "./mods/" );
|
||||
|
|
|
@ -6,8 +6,8 @@ import java.util.ArrayList;
|
|||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import net.vhati.ftldat.PackUtilities;
|
||||
import net.vhati.modmanager.core.HashObserver;
|
||||
|
@ -21,7 +21,7 @@ import net.vhati.modmanager.core.HashObserver;
|
|||
*/
|
||||
public class HashThread extends Thread {
|
||||
|
||||
private static final Logger log = LogManager.getLogger( HashThread.class );
|
||||
private static final Logger log = LoggerFactory.getLogger( HashThread.class );
|
||||
|
||||
private List<File> fileList = new ArrayList<File>();
|
||||
private HashObserver hashObserver = null;
|
||||
|
|
|
@ -16,8 +16,8 @@ import java.util.zip.ZipInputStream;
|
|||
|
||||
import org.jdom2.JDOMException;
|
||||
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import net.vhati.ftldat.AbstractPack;
|
||||
import net.vhati.ftldat.AbstractPack.RepackResult;
|
||||
|
@ -31,7 +31,7 @@ import net.vhati.modmanager.core.ModUtilities;
|
|||
|
||||
public class ModPatchThread extends Thread {
|
||||
|
||||
private static final Logger log = LogManager.getLogger( ModPatchThread.class );
|
||||
private static final Logger log = LoggerFactory.getLogger( ModPatchThread.class );
|
||||
|
||||
// Other threads can check or set this.
|
||||
public volatile boolean keepRunning = true;
|
||||
|
|
|
@ -36,8 +36,8 @@ import org.jdom2.JDOMException;
|
|||
import org.jdom2.input.JDOMParseException;
|
||||
import org.jdom2.input.SAXBuilder;
|
||||
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import net.vhati.modmanager.core.EmptyAwareSAXHandlerFactory;
|
||||
import net.vhati.modmanager.core.EOLWriter;
|
||||
|
@ -48,7 +48,7 @@ import net.vhati.modmanager.core.SloppyXMLParser;
|
|||
|
||||
public class ModUtilities {
|
||||
|
||||
private static final Logger log = LogManager.getLogger(ModUtilities.class);
|
||||
private static final Logger log = LoggerFactory.getLogger( ModUtilities.class );
|
||||
|
||||
private static Pattern junkFilePtn = Pattern.compile( "[.]DS_Store$|(?:^|/)thumbs[.]db$|(?:^|/)[.]dropbox$|(?:^|/)~|~$|(?:^|/)#.+#$" );
|
||||
|
||||
|
|
|
@ -9,8 +9,8 @@ import java.util.Iterator;
|
|||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import net.vhati.ftldat.PackUtilities;
|
||||
import net.vhati.modmanager.core.ModDB;
|
||||
|
@ -27,7 +27,7 @@ import net.vhati.modmanager.xml.JDOMModMetadataReader;
|
|||
*/
|
||||
public class ModsScanThread extends Thread {
|
||||
|
||||
private static final Logger log = LogManager.getLogger( ModsScanThread.class );
|
||||
private static final Logger log = LoggerFactory.getLogger( ModsScanThread.class );
|
||||
|
||||
private List<File> fileList = new ArrayList<File>();
|
||||
private ModDB newDB;
|
||||
|
|
|
@ -15,8 +15,8 @@ import com.fasterxml.jackson.core.JsonProcessingException;
|
|||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import net.vhati.modmanager.core.AutoUpdateInfo;
|
||||
import net.vhati.modmanager.core.ComparableVersion;
|
||||
|
@ -24,7 +24,7 @@ import net.vhati.modmanager.core.ComparableVersion;
|
|||
|
||||
public class JacksonAutoUpdateReader {
|
||||
|
||||
private static final Logger log = LogManager.getLogger( JacksonAutoUpdateReader.class );
|
||||
private static final Logger log = LoggerFactory.getLogger( JacksonAutoUpdateReader.class );
|
||||
|
||||
|
||||
public static AutoUpdateInfo parse( File jsonFile ) {
|
||||
|
@ -75,7 +75,7 @@ public class JacksonAutoUpdateReader {
|
|||
exception = e;
|
||||
}
|
||||
if ( exception != null ) {
|
||||
log.error( exception );
|
||||
log.error( "Failed to parse info about available updates", exception );
|
||||
return null;
|
||||
}
|
||||
|
||||
|
|
|
@ -10,8 +10,8 @@ import com.fasterxml.jackson.core.JsonProcessingException;
|
|||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import net.vhati.modmanager.core.ModDB;
|
||||
import net.vhati.modmanager.core.ModInfo;
|
||||
|
@ -19,7 +19,7 @@ import net.vhati.modmanager.core.ModInfo;
|
|||
|
||||
public class JacksonCatalogReader {
|
||||
|
||||
private static final Logger log = LogManager.getLogger( JacksonCatalogReader.class );
|
||||
private static final Logger log = LoggerFactory.getLogger( JacksonCatalogReader.class );
|
||||
|
||||
|
||||
public static ModDB parse( File jsonFile ) {
|
||||
|
|
|
@ -18,13 +18,13 @@ import java.util.Date;
|
|||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
|
||||
public class URLFetcher {
|
||||
|
||||
private static final Logger log = LogManager.getLogger( URLFetcher.class );
|
||||
private static final Logger log = LoggerFactory.getLogger( URLFetcher.class );
|
||||
|
||||
|
||||
/**
|
||||
|
|
|
@ -53,8 +53,8 @@ import org.apache.commons.cli.CommandLine;
|
|||
import org.apache.commons.cli.HelpFormatter;
|
||||
import org.apache.commons.cli.ParseException;
|
||||
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import net.vhati.ftldat.PackUtilities;
|
||||
import net.vhati.modmanager.core.ModDB;
|
||||
|
@ -66,7 +66,7 @@ import net.vhati.modmanager.json.JacksonCatalogWriter;
|
|||
|
||||
public class ForumScraper {
|
||||
|
||||
private static final Logger log = LogManager.getLogger( ForumScraper.class );
|
||||
private static final Logger log = LoggerFactory.getLogger( ForumScraper.class );
|
||||
|
||||
private static final String MASTER_LIST_URL = "https://subsetgames.com/forum/viewtopic.php?f=11&t=2645";
|
||||
private static final String FORUM_URL_FRAGMENT = "https://subsetgames.com/forum/viewtopic.php";
|
||||
|
|
|
@ -22,8 +22,8 @@ import javax.swing.ScrollPaneConstants;
|
|||
import javax.swing.event.AncestorEvent;
|
||||
import javax.swing.event.AncestorListener;
|
||||
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import net.vhati.modmanager.ui.FieldEditorPanel;
|
||||
import net.vhati.modmanager.ui.FieldEditorPanel.ContentType;
|
||||
|
@ -33,7 +33,7 @@ import net.vhati.modmanager.xml.JDOMModMetadataWriter;
|
|||
|
||||
public class CreateModDialog extends JDialog implements ActionListener {
|
||||
|
||||
private static final Logger log = LogManager.getLogger( CreateModDialog.class );
|
||||
private static final Logger log = LoggerFactory.getLogger( CreateModDialog.class );
|
||||
|
||||
protected static final String DIR_NAME = "Directory Name";
|
||||
protected static final String AUDIO_ROOT = "audio/";
|
||||
|
|
|
@ -10,8 +10,8 @@ import java.util.List;
|
|||
import javax.swing.JDialog;
|
||||
import javax.swing.SwingUtilities;
|
||||
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import net.vhati.ftldat.AbstractPack;
|
||||
import net.vhati.ftldat.FolderPack;
|
||||
|
@ -21,7 +21,7 @@ import net.vhati.ftldat.PkgPack;
|
|||
|
||||
public class DatExtractDialog extends ProgressDialog {
|
||||
|
||||
private static final Logger log = LogManager.getLogger( DatExtractDialog.class );
|
||||
private static final Logger log = LoggerFactory.getLogger( DatExtractDialog.class );
|
||||
|
||||
private boolean started = false;
|
||||
|
||||
|
|
|
@ -53,8 +53,8 @@ import javax.swing.UIManager;
|
|||
import javax.swing.event.ListSelectionEvent;
|
||||
import javax.swing.event.ListSelectionListener;
|
||||
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import net.vhati.modmanager.core.AutoUpdateInfo;
|
||||
import net.vhati.modmanager.core.ComparableVersion;
|
||||
|
@ -85,7 +85,7 @@ import net.vhati.modmanager.ui.table.ListState;
|
|||
|
||||
public class ManagerFrame extends JFrame implements ActionListener, ModsScanObserver, Nerfable, Statusbar, Thread.UncaughtExceptionHandler {
|
||||
|
||||
private static final Logger log = LogManager.getLogger( ManagerFrame.class );
|
||||
private static final Logger log = LoggerFactory.getLogger( ManagerFrame.class );
|
||||
|
||||
public static final String CATALOG_URL = "https://raw.github.com/Vhati/Slipstream-Mod-Manager/master/skel_common/backup/current_catalog.json";
|
||||
public static final String APP_UPDATE_URL = "https://raw.github.com/Vhati/Slipstream-Mod-Manager/master/skel_common/backup/auto_update.json";
|
||||
|
|
|
@ -15,8 +15,8 @@ import java.util.List;
|
|||
import java.util.concurrent.locks.Lock;
|
||||
import javax.swing.SwingUtilities;
|
||||
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import net.vhati.modmanager.core.AutoUpdateInfo;
|
||||
import net.vhati.modmanager.core.ModDB;
|
||||
|
@ -39,7 +39,7 @@ import net.vhati.modmanager.ui.table.ListState;
|
|||
*/
|
||||
public class ManagerInitThread extends Thread {
|
||||
|
||||
private static final Logger log = LogManager.getLogger( ManagerInitThread.class );
|
||||
private static final Logger log = LoggerFactory.getLogger( ManagerInitThread.class );
|
||||
|
||||
private final ManagerFrame frame;
|
||||
private final SlipstreamConfig appConfig;
|
||||
|
|
|
@ -24,15 +24,15 @@ import javax.swing.text.StyleConstants;
|
|||
import javax.swing.text.StyleContext;
|
||||
import javax.swing.text.StyledDocument;
|
||||
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import net.vhati.modmanager.ui.Statusbar;
|
||||
|
||||
|
||||
public class ModInfoArea extends JScrollPane {
|
||||
|
||||
private static final Logger log = LogManager.getLogger( ModInfoArea.class );
|
||||
private static final Logger log = LoggerFactory.getLogger( ModInfoArea.class );
|
||||
|
||||
private static final String STYLE_REGULAR = "regular";
|
||||
private static final String STYLE_HYPERLINK = "hyperlink";
|
||||
|
|
|
@ -8,8 +8,8 @@ import javax.swing.JComponent;
|
|||
import javax.swing.JTable;
|
||||
import javax.swing.TransferHandler;
|
||||
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import net.vhati.modmanager.ui.table.Reorderable;
|
||||
|
||||
|
@ -21,7 +21,7 @@ import net.vhati.modmanager.ui.table.Reorderable;
|
|||
*/
|
||||
public class TableRowTransferHandler extends TransferHandler {
|
||||
|
||||
private static final Logger log = LogManager.getLogger( TableRowTransferHandler.class );
|
||||
private static final Logger log = LoggerFactory.getLogger( TableRowTransferHandler.class );
|
||||
|
||||
private DataFlavor localIntegerFlavor = null;
|
||||
|
||||
|
@ -36,10 +36,10 @@ public class TableRowTransferHandler extends TransferHandler {
|
|||
this.table = table;
|
||||
|
||||
try {
|
||||
localIntegerFlavor = new DataFlavor( DataFlavor.javaJVMLocalObjectMimeType + ";class=\""+ Integer.class.getName() +"\"" );
|
||||
localIntegerFlavor = new DataFlavor( String.format( "%s;class=\"%s\"", DataFlavor.javaJVMLocalObjectMimeType, Integer.class.getName() ) );
|
||||
}
|
||||
catch ( ClassNotFoundException e ) {
|
||||
log.error( e );
|
||||
log.error( "Failed to construct a table row transfer handler", e );
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -84,7 +84,7 @@ public class TableRowTransferHandler extends TransferHandler {
|
|||
}
|
||||
}
|
||||
catch ( Exception e ) {
|
||||
log.error( e );
|
||||
log.error( "Dragging failed", e );
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -14,8 +14,8 @@ import org.jdom2.Element;
|
|||
import org.jdom2.JDOMException;
|
||||
import org.jdom2.input.SAXBuilder;
|
||||
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import net.vhati.modmanager.core.ModDB;
|
||||
import net.vhati.modmanager.core.ModInfo;
|
||||
|
@ -25,7 +25,7 @@ import net.vhati.modmanager.core.ModUtilities.DecodeResult;
|
|||
|
||||
public class JDOMModMetadataReader {
|
||||
|
||||
private static final Logger log = LogManager.getLogger( JDOMModMetadataReader.class );
|
||||
private static final Logger log = LoggerFactory.getLogger( JDOMModMetadataReader.class );
|
||||
|
||||
public static final String METADATA_INNERPATH = "mod-appendix/metadata.xml";
|
||||
|
||||
|
|
|
@ -1,27 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<configuration status="warn">
|
||||
<appenders>
|
||||
<Console name="Console" target="SYSTEM_ERR">
|
||||
<ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY" />
|
||||
<PatternLayout>
|
||||
<pattern>%-5level %logger{1} - %msg%throwable%n</pattern>
|
||||
</PatternLayout>
|
||||
</Console>
|
||||
<File name="LogFile" fileName="modman-log.txt" append="false">
|
||||
<ThresholdFilter level="DEBUG" onMatch="ACCEPT" onMismatch="DENY" />
|
||||
<PatternLayout>
|
||||
<pattern>%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%throwable%n</pattern>
|
||||
</PatternLayout>
|
||||
</File>
|
||||
</appenders>
|
||||
<loggers>
|
||||
<logger name="net.vhati" level="trace" additivity="false">
|
||||
<appender-ref ref="Console"/>
|
||||
<appender-ref ref="LogFile"/>
|
||||
</logger>
|
||||
<root level="error">
|
||||
<appender-ref ref="Console"/>
|
||||
<appender-ref ref="LogFile"/>
|
||||
</root>
|
||||
</loggers>
|
||||
</configuration>
|
28
src/main/resources/logback.xml
Normal file
28
src/main/resources/logback.xml
Normal file
|
@ -0,0 +1,28 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<configuration debug="false">
|
||||
<!-- Notify java.util.logging to adjust its levels, to stop messages that'd get ignored anyway. -->
|
||||
<contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator" />
|
||||
|
||||
<appender name="Console" class="ch.qos.logback.core.ConsoleAppender">
|
||||
<target>System.err</target>
|
||||
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
|
||||
<level>info</level>
|
||||
</filter>
|
||||
<encoder>
|
||||
<pattern>%-5level %logger{0} - %msg%n</pattern>
|
||||
</encoder>
|
||||
</appender>
|
||||
|
||||
<!-- Appenders declared here but not attached to loggers will be ignored. -->
|
||||
|
||||
<!-- LogFile appender will be constructed and added programmatically as needed. -->
|
||||
|
||||
<!-- Additive loggers inherit appenders and omitted values, like level. -->
|
||||
<logger name="net.vhati" level="debug" additivity="true">
|
||||
</logger>
|
||||
|
||||
<!-- Limit verbosity of any other packages. -->
|
||||
<root level="error">
|
||||
<appender-ref ref="Console" />
|
||||
</root>
|
||||
</configuration>
|
Loading…
Add table
Add a link
Reference in a new issue