diff --git a/.classpath b/.classpath index 4d902b0c..413e9ff0 100644 --- a/.classpath +++ b/.classpath @@ -20,5 +20,8 @@ + + + diff --git a/config/logback.xml b/config/logback.xml new file mode 100644 index 00000000..1a627792 --- /dev/null +++ b/config/logback.xml @@ -0,0 +1,20 @@ + + + + + ${user.home}/SDRTrunk/logs/sdrtrunk_application.log + + + ${user.home}/SDRTrunk/logs/%d{yyyyMMdd}_sdrtrunk_application.log + 10 + + + %-25(%d{ddMMyyyy HHmmss} [%thread]) %-5level %logger{30} - %msg%n + + + + + + + + \ No newline at end of file diff --git a/imports/logback-classic-1.1.2.jar b/imports/logback-classic-1.1.2.jar new file mode 100644 index 00000000..3d5d0fff Binary files /dev/null and b/imports/logback-classic-1.1.2.jar differ diff --git a/imports/logback-core-1.1.2.jar b/imports/logback-core-1.1.2.jar new file mode 100644 index 00000000..575aec5e Binary files /dev/null and b/imports/logback-core-1.1.2.jar differ diff --git a/imports/slf4j-api-1.7.7.jar b/imports/slf4j-api-1.7.7.jar new file mode 100644 index 00000000..b28e220b Binary files /dev/null and b/imports/slf4j-api-1.7.7.jar differ diff --git a/src/alias/fleetsync/StatusIDEditor.java b/src/alias/fleetsync/StatusIDEditor.java index 81e1a52c..1a191de2 100644 --- a/src/alias/fleetsync/StatusIDEditor.java +++ b/src/alias/fleetsync/StatusIDEditor.java @@ -27,14 +27,20 @@ import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JTextField; -import log.Log; import net.miginfocom.swing.MigLayout; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import controller.ConfigurableNode; public class StatusIDEditor extends JPanel implements ActionListener { - private static final long serialVersionUID = 1L; - private StatusIDNode mStatusIDNode; + private static final long serialVersionUID = 1L; + private final static Logger mLog = + LoggerFactory.getLogger( StatusIDEditor.class ); + + private StatusIDNode mStatusIDNode; private JLabel mLabelName; private JTextField mTextStatusID; @@ -93,7 +99,7 @@ public class StatusIDEditor extends JPanel implements ActionListener } catch( Exception ex ) { - Log.error( "StatusIDEditor - error parsing int status " + + mLog.error( "StatusIDEditor - error parsing int status " + "id from [" + statusIDString + "]" ); } } diff --git a/src/alias/siteID/SiteIDEditor.java b/src/alias/siteID/SiteIDEditor.java index 9ee09eb5..6f50f5c7 100644 --- a/src/alias/siteID/SiteIDEditor.java +++ b/src/alias/siteID/SiteIDEditor.java @@ -20,20 +20,24 @@ package alias.siteID; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; -import javax.swing.BorderFactory; import javax.swing.JButton; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JTextField; -import log.Log; import net.miginfocom.swing.MigLayout; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import controller.ConfigurableNode; public class SiteIDEditor extends JPanel implements ActionListener { private static final long serialVersionUID = 1L; + private final static Logger mLog = + LoggerFactory.getLogger( SiteIDEditor.class ); private SiteIDNode mSiteIDNode; private JLabel mLabelName; @@ -92,7 +96,7 @@ public class SiteIDEditor extends JPanel implements ActionListener } catch( Exception ex ) { - Log.error( "SiteIDEditor - error parsing int site " + + mLog.error( "SiteIDEditor - error parsing int site " + "id from [" + siteIDString + "]" ); } } diff --git a/src/alias/uniqueID/UniqueIDEditor.java b/src/alias/uniqueID/UniqueIDEditor.java index 4ae0af9f..e342fff8 100644 --- a/src/alias/uniqueID/UniqueIDEditor.java +++ b/src/alias/uniqueID/UniqueIDEditor.java @@ -20,20 +20,24 @@ package alias.uniqueID; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; -import javax.swing.BorderFactory; import javax.swing.JButton; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JTextField; -import log.Log; import net.miginfocom.swing.MigLayout; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import controller.ConfigurableNode; public class UniqueIDEditor extends JPanel implements ActionListener { private static final long serialVersionUID = 1L; + private final static Logger mLog = + LoggerFactory.getLogger( UniqueIDEditor.class ); private UniqueIDNode mUniqueIDNode; private JLabel mLabelUniqueID; @@ -92,8 +96,8 @@ public class UniqueIDEditor extends JPanel implements ActionListener } catch( Exception ex ) { - Log.error( "UniqueIDEditor - exception trying to parse " + - "int from uid [" + uid + "]" ); + mLog.error( "UniqueIDEditor - exception trying to parse " + + "int from uid [" + uid + "]", ex ); } } else diff --git a/src/audio/AudioOutput.java b/src/audio/AudioOutput.java index 94a8d01e..b5aacb0d 100644 --- a/src/audio/AudioOutput.java +++ b/src/audio/AudioOutput.java @@ -24,7 +24,9 @@ import javax.sound.sampled.AudioSystem; import javax.sound.sampled.LineUnavailableException; import javax.sound.sampled.SourceDataLine; -import log.Log; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import sample.Listener; import buffer.FloatSampleBufferAssembler; @@ -32,6 +34,8 @@ public class AudioOutput implements Listener, SquelchListener, AudioTypeListener { + private final static Logger mLog = + LoggerFactory.getLogger( AudioOutput.class ); private static final int sAUDIO_BLOCK_SIZE = 24000; private static final AudioFormat sAUDIO_FORMAT = @@ -60,8 +64,8 @@ public class AudioOutput implements Listener, } catch ( LineUnavailableException e ) { - Log.warning( "AudioOutput - couldn't open audio speakers " - + "for playback:" + e.getLocalizedMessage() ); + mLog.error( "AudioOutput - couldn't open audio speakers " + + "for playback", e ); } } diff --git a/src/controller/activity/CallEventModel.java b/src/controller/activity/CallEventModel.java index 7a43f609..1cee1526 100644 --- a/src/controller/activity/CallEventModel.java +++ b/src/controller/activity/CallEventModel.java @@ -20,12 +20,13 @@ package controller.activity; import java.awt.EventQueue; import java.text.DecimalFormat; import java.text.SimpleDateFormat; -import java.util.Collections; import java.util.LinkedList; import javax.swing.table.AbstractTableModel; -import log.Log; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import sample.Broadcaster; import sample.Listener; import controller.activity.CallEvent.CallEventType; @@ -33,6 +34,8 @@ import controller.activity.CallEvent.CallEventType; public class CallEventModel extends AbstractTableModel { private static final long serialVersionUID = 1L; + private final static Logger mLog = + LoggerFactory.getLogger( CallEventModel.class ); private static DecimalFormat mFrequencyFormatter = new DecimalFormat( "0.000000" ); @@ -175,7 +178,7 @@ public class CallEventModel extends AbstractTableModel } else { - Log.error( "CallEventModel - couldn't log end time - event was null" ); + mLog.error( "CallEventModel - couldn't log end time - event was null" ); } } } ); @@ -210,7 +213,7 @@ public class CallEventModel extends AbstractTableModel } else { - Log.error( "CallEventModel - tried to set from ID on " + mLog.error( "CallEventModel - tried to set from ID on " + "call event - couldn't find index of event" ); } } diff --git a/src/controller/channel/Channel.java b/src/controller/channel/Channel.java index 5a44b784..32e8ca59 100644 --- a/src/controller/channel/Channel.java +++ b/src/controller/channel/Channel.java @@ -34,8 +34,11 @@ import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlSeeAlso; import javax.xml.bind.annotation.XmlTransient; -import log.Log; import message.Message; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import record.config.RecordConfiguration; import sample.Listener; import source.SourceType; @@ -63,6 +66,8 @@ import eventlog.config.EventLogConfiguration; @XmlRootElement( name = "channel" ) public class Channel extends Configuration { + private final static Logger mLog = LoggerFactory.getLogger( Channel.class ); + public enum ChannelType { STANDARD, @@ -814,7 +819,7 @@ public class Channel extends Configuration } else { - Log.error( "Channel - attempt to add already existing channel " + mLog.error( "Channel - attempt to add already existing channel " + "listener [" + listener.getClass() + "]" ); } } diff --git a/src/controller/channel/ChannelMapEditor.java b/src/controller/channel/ChannelMapEditor.java index 4f79d4da..727b79c0 100644 --- a/src/controller/channel/ChannelMapEditor.java +++ b/src/controller/channel/ChannelMapEditor.java @@ -25,7 +25,6 @@ import java.awt.event.FocusEvent; import java.awt.event.FocusListener; import javax.swing.AbstractCellEditor; -import javax.swing.BorderFactory; import javax.swing.JButton; import javax.swing.JFormattedTextField; import javax.swing.JLabel; @@ -37,13 +36,18 @@ import javax.swing.JTextField; import javax.swing.table.TableCellEditor; import javax.swing.text.InternationalFormatter; -import log.Log; import net.miginfocom.swing.MigLayout; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + public class ChannelMapEditor extends JPanel implements ActionListener { private static final long serialVersionUID = 1L; - private ChannelMapNode mChannelMapNode; + private final static Logger mLog = + LoggerFactory.getLogger( ChannelMapEditor.class ); + + private ChannelMapNode mChannelMapNode; private JLabel mNameLabel; private JTextField mNameText; @@ -76,7 +80,7 @@ public class ChannelMapEditor extends JPanel implements ActionListener @Override public void focusLost( FocusEvent arg0 ) { - Log.info( "text field action event fired, new value:" + mNameText.getText() ); + mLog.info( "text field action event fired, new value:" + mNameText.getText() ); mChannelMapCopy.setName( mNameText.getText() ); } } ); @@ -198,14 +202,13 @@ public class ChannelMapEditor extends JPanel implements ActionListener @Override public Object getCellEditorValue() { - Log.info( "getCellEditorValue - I've been invoked!" ); return mEditor.getText(); } @Override public void actionPerformed( ActionEvent e ) { - Log.info( "Action Performed:" + e.getActionCommand() ); + mLog.info( "Action Performed:" + e.getActionCommand() ); } @Override diff --git a/src/controller/channel/ChannelMapModel.java b/src/controller/channel/ChannelMapModel.java index bcb3fadb..32237929 100644 --- a/src/controller/channel/ChannelMapModel.java +++ b/src/controller/channel/ChannelMapModel.java @@ -19,12 +19,16 @@ package controller.channel; import javax.swing.table.AbstractTableModel; -import log.Log; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public class ChannelMapModel extends AbstractTableModel { private static final long serialVersionUID = 1L; - private static final int sSTART = 0; + private final static Logger mLog = + LoggerFactory.getLogger( ChannelMapModel.class ); + + private static final int sSTART = 0; private static final int sSTOP = 1; private static final int sBASE = 2; private static final int sSIZE = 3; @@ -160,8 +164,8 @@ public class ChannelMapModel extends AbstractTableModel } catch( Exception e ) { - Log.info( "ChannelMapModel - couldn't parse integer value " - + "for [" + value + "] - " + e.getLocalizedMessage() ); + mLog.error( "ChannelMapModel - couldn't parse integer value " + + "for [" + value + "]", e ); } } } diff --git a/src/controller/channel/ProcessingChain.java b/src/controller/channel/ProcessingChain.java index 6915c512..19b89017 100644 --- a/src/controller/channel/ProcessingChain.java +++ b/src/controller/channel/ProcessingChain.java @@ -17,6 +17,8 @@ ******************************************************************************/ package controller.channel; +import gui.SDRTrunk; + import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -27,8 +29,11 @@ import java.util.concurrent.ScheduledFuture; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicBoolean; -import log.Log; import message.Message; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import record.Recorder; import record.wave.ComplexWaveRecorder; import record.wave.FloatWaveRecorder; @@ -66,6 +71,8 @@ import eventlog.EventLogger; */ public class ProcessingChain implements Listener { + private final static Logger mLog = LoggerFactory.getLogger( SDRTrunk.class ); + protected AtomicBoolean mRunning = new AtomicBoolean(); protected Channel mChannel; protected Source mSource; @@ -189,7 +196,7 @@ public class ProcessingChain implements Listener } else { - Log.info( getLogPrefix() + "start() invoked, but processing chain is " + mLog.info( getLogPrefix() + "start() invoked, but processing chain is " + "already started" ); } } @@ -224,7 +231,7 @@ public class ProcessingChain implements Listener } else { - Log.info( getLogPrefix() + "stop() invoked, but processing chain was " + mLog.info( getLogPrefix() + "stop() invoked, but processing chain was " + "already stopped" ); } } @@ -273,8 +280,8 @@ public class ProcessingChain implements Listener } catch ( SourceException e ) { - Log.error( "Couldn't obtain source for processing chain [" + - toString() + "] - " + e.getLocalizedMessage() ); + mLog.error( "Couldn't obtain source for processing chain [" + + toString() + "]", e ); mSource = null; } @@ -296,7 +303,7 @@ public class ProcessingChain implements Listener } catch( RejectedExecutionException ree ) { - Log.error( getLogPrefix() + "ProcessingChain - " + mLog.error( getLogPrefix() + "ProcessingChain - " + "error scheduling complex sample processing " + "thread - " + ree.getLocalizedMessage() ); @@ -318,9 +325,9 @@ public class ProcessingChain implements Listener } catch( RejectedExecutionException ree ) { - Log.error( getLogPrefix() + "ProcessingChain - " + mLog.error( getLogPrefix() + "ProcessingChain - " + "error scheduling float sample processing " - + "thread - " + ree.getLocalizedMessage() ); + + "thread", ree ); mSource.dispose(); } @@ -340,9 +347,9 @@ public class ProcessingChain implements Listener } catch( RejectedExecutionException ree ) { - Log.error( getLogPrefix() + "ProcessingChain - " + mLog.error( getLogPrefix() + "ProcessingChain - " + "error scheduling float sample processing " - + "thread - " + ree.getLocalizedMessage() ); + + "thread", ree ); mSource.dispose(); } @@ -491,9 +498,8 @@ public class ProcessingChain implements Listener } catch ( IOException ioe ) { - Log.error( getLogPrefix() + "Couldn't stop recorder [" + - recorder.getFileName() + "] " + - ioe.getLocalizedMessage() ); + mLog.error( getLogPrefix() + "Couldn't stop recorder [" + + recorder.getFileName() + "]", ioe ); } } } @@ -516,14 +522,14 @@ public class ProcessingChain implements Listener if( recorder instanceof FloatWaveRecorder ) { - Log.info( getLogPrefix() + "- started audio recording [" + + mLog.info( getLogPrefix() + "- started audio recording [" + recorder.getFileName() + "]" ); mDecoder.addFloatListener( (FloatWaveRecorder)recorder ); } else if( recorder instanceof ComplexWaveRecorder ) { - Log.info( getLogPrefix() + "- started baseband recording [" + + mLog.info( getLogPrefix() + "- started baseband recording [" + recorder.getFileName() + "]" ); mDecoder.addComplexListener( (ComplexWaveRecorder )recorder ); @@ -532,7 +538,7 @@ public class ProcessingChain implements Listener } catch ( IOException e ) { - Log.error( getLogPrefix() + "Unable to start recorder [" + + mLog.error( getLogPrefix() + "Unable to start recorder [" + recorder.getFileName() + "]" ); } } @@ -638,7 +644,7 @@ public class ProcessingChain implements Listener } else { - Log.error( getLogPrefix() + "attempt to add a complex sample " + mLog.error( getLogPrefix() + "attempt to add a complex sample " + "listener, but the decoder is null" ); } } @@ -651,7 +657,7 @@ public class ProcessingChain implements Listener } else { - Log.error( getLogPrefix() + "attempt to remove a complex sample " + mLog.error( getLogPrefix() + "attempt to remove a complex sample " + "listener, but the decoder is null" ); } } diff --git a/src/controller/state/ChannelState.java b/src/controller/state/ChannelState.java index 9d116289..3d038144 100644 --- a/src/controller/state/ChannelState.java +++ b/src/controller/state/ChannelState.java @@ -17,7 +17,6 @@ ******************************************************************************/ package controller.state; -import java.awt.EventQueue; import java.util.ArrayList; import java.util.Iterator; import java.util.concurrent.ScheduledFuture; @@ -26,8 +25,11 @@ import java.util.concurrent.TimeUnit; import javax.swing.JTable; -import log.Log; import message.Message; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import properties.SystemProperties; import sample.Broadcaster; import sample.Listener; @@ -43,7 +45,6 @@ import controller.activity.CallEventModel; import controller.activity.MessageActivityModel; import controller.channel.Channel.ChannelType; import controller.channel.ProcessingChain; -import decode.mpt1327.MPT1327CallEvent; /** * ChannelState provides a state machine for tracking a voice or data call @@ -82,6 +83,9 @@ import decode.mpt1327.MPT1327CallEvent; */ public abstract class ChannelState implements Listener { + private final static Logger mLog = + LoggerFactory.getLogger( ChannelState.class ); + private State mState = State.IDLE; private Object mCallFadeLock = new Object(); private Object mCallResetLock = new Object(); @@ -349,7 +353,7 @@ public abstract class ChannelState implements Listener } else { - Log.error( "Channel State - can't change from [" + + mLog.error( "Channel State - can't change from [" + mState.toString() + "] to [" + state.toString() + "]" ); } } diff --git a/src/crc/CRCFleetsync.java b/src/crc/CRCFleetsync.java index 49da9cbf..133ebc6d 100644 --- a/src/crc/CRCFleetsync.java +++ b/src/crc/CRCFleetsync.java @@ -19,7 +19,8 @@ package crc; import java.util.BitSet; -import log.Log; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * Fleetsync CRC checksum utility @@ -36,6 +37,9 @@ import log.Log; */ public class CRCFleetsync { + private final static Logger mLog = + LoggerFactory.getLogger( CRCFleetsync.class ); + private static short[] sCHECKSUMS = new short[] { 0x740A, // 111010000001010 Bit 0 0x3A05, // 011101000000101 Bit 1 @@ -206,47 +210,4 @@ public class CRCFleetsync return retVal; } - - public static void main( String[] args ) - { - BitSet test = new BitSet(); - - int[] msg = new int[] - { 1,1,0,1,1,1,0,1,0,1,1,1,0,1,1,0, - 0,0,1,1,1,1,1,1,1,1,0,1,0,1,1,0, - 0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1, - 0,1,0,0,1,0,1,1,1,1,0,0,1,1,0,0 }; - - for( int x = 0; x < msg.length; x++ ) - { - if( msg[ x ] == 0 ) - { - test.clear( x ); - } - else if( msg[ x ] == 1 ) - { - test.set( x ); - } - } - CRC result = check( test ); - - Log.info( "CRC:" + result.toString() ); - -// for( int y = 0; y < 64; y++ ) -// { -// BitSet test2 = test.get( y, y + 63 ); -// -// if( test2.get( 63 ) ) -// { -// test2.clear( 63 ); -// } -// else -// { -// test2.set( 63 ); -// } -// CRC result = check( test2 ); -// -// Log.info( y + " crc:" + result.toString() ); -// } - } } diff --git a/src/decode/fleetsync1/Fleetsync1MessageProcessor.java b/src/decode/fleetsync1/Fleetsync1MessageProcessor.java index 4db73625..47a65fbc 100644 --- a/src/decode/fleetsync1/Fleetsync1MessageProcessor.java +++ b/src/decode/fleetsync1/Fleetsync1MessageProcessor.java @@ -17,22 +17,26 @@ ******************************************************************************/ package decode.fleetsync1; -import log.Log; import message.Message; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import sample.Broadcaster; import sample.Listener; import bits.BitSetBuffer; public class Fleetsync1MessageProcessor implements Listener { + private final static Logger mLog = + LoggerFactory.getLogger( Fleetsync1MessageProcessor.class ); + private Broadcaster mBroadcaster = new Broadcaster(); @Override public void receive( BitSetBuffer buffer ) { Fleetsync1Message message = new Fleetsync1Message( buffer ); - - Log.info( message.toString() ); mBroadcaster.receive( message ); } diff --git a/src/decode/fleetsync2/FleetsyncChannelState.java b/src/decode/fleetsync2/FleetsyncChannelState.java index 32052d3e..afcfc228 100644 --- a/src/decode/fleetsync2/FleetsyncChannelState.java +++ b/src/decode/fleetsync2/FleetsyncChannelState.java @@ -17,7 +17,6 @@ ******************************************************************************/ package decode.fleetsync2; -import log.Log; import message.Message; import alias.Alias; import controller.state.AuxChannelState; @@ -27,8 +26,6 @@ import controller.state.ChannelState.State; public class FleetsyncChannelState extends AuxChannelState { - private static final String PROTOCOL = "FSync II"; - private String mFleetFrom; private Alias mFleetFromAlias; diff --git a/src/decode/ltrstandard/LTRStandardMessage.java b/src/decode/ltrstandard/LTRStandardMessage.java index 5ade8980..b8dd577e 100644 --- a/src/decode/ltrstandard/LTRStandardMessage.java +++ b/src/decode/ltrstandard/LTRStandardMessage.java @@ -20,7 +20,6 @@ package decode.ltrstandard; import java.text.DecimalFormat; import java.text.SimpleDateFormat; -import log.Log; import message.Message; import message.MessageDirection; import message.MessageType; @@ -203,7 +202,6 @@ public abstract class LTRStandardMessage extends Message public Alias getTalkgroupIDAlias() { - Log.debug( "LTRStandardMessage - getting alias for:" + getTalkgroupID() ); return mAliasList.getTalkgroupAlias( getTalkgroupID() ); } diff --git a/src/decode/mpt1327/MPT1327Decoder.java b/src/decode/mpt1327/MPT1327Decoder.java index 6b93a9e0..9538da43 100644 --- a/src/decode/mpt1327/MPT1327Decoder.java +++ b/src/decode/mpt1327/MPT1327Decoder.java @@ -25,7 +25,6 @@ import instrument.tap.stream.FloatTap; import java.util.ArrayList; import java.util.List; -import log.Log; import sample.Broadcaster; import sample.Listener; import source.Source.SampleType; @@ -34,7 +33,6 @@ import bits.MessageFramer; import bits.SyncPattern; import decode.Decoder; import decode.DecoderType; -import dsp.afc.AutomaticFrequencyControl; import dsp.filter.DCRemovalFilter; import dsp.filter.FilterFactory; import dsp.filter.Filters; diff --git a/src/decode/passport/PassportBand.java b/src/decode/passport/PassportBand.java index f751a4e1..adfa71a2 100644 --- a/src/decode/passport/PassportBand.java +++ b/src/decode/passport/PassportBand.java @@ -17,7 +17,6 @@ ******************************************************************************/ package decode.passport; -import log.Log; public enum PassportBand { diff --git a/src/decode/passport/PassportChannelState.java b/src/decode/passport/PassportChannelState.java index 1b605ba5..b8adf1a8 100644 --- a/src/decode/passport/PassportChannelState.java +++ b/src/decode/passport/PassportChannelState.java @@ -17,9 +17,13 @@ ******************************************************************************/ package decode.passport; +import gui.SDRTrunk; + import java.util.HashMap; -import log.Log; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import message.Message; import alias.Alias; import alias.AliasList; @@ -33,6 +37,9 @@ import controller.state.ChannelState; public class PassportChannelState extends ChannelState { + private final static Logger mLog = + LoggerFactory.getLogger( PassportChannelState.class ); + private String mTalkgroup; private Alias mTalkgroupAlias; private String mMobileID; @@ -105,7 +112,7 @@ public class PassportChannelState extends ChannelState } catch( Exception e ) { - Log.error( "Error setting audio for " + mLog.error( "Error setting audio for " + "passport call", e ); } } @@ -118,8 +125,6 @@ public class PassportChannelState extends ChannelState * have a different call ... cleanup the old one. */ if( current != null && !current.addMessage( passport ) ) { - Log.info( "Current call event - testing" ); - if( current.isValid() ) { final PassportCallEvent endEvent = diff --git a/src/decode/passport/PassportMessageProcessor.java b/src/decode/passport/PassportMessageProcessor.java index fc7d1454..f0a80921 100644 --- a/src/decode/passport/PassportMessageProcessor.java +++ b/src/decode/passport/PassportMessageProcessor.java @@ -19,7 +19,6 @@ package decode.passport; import java.util.HashMap; -import log.Log; import message.Message; import message.MessageType; import sample.Broadcaster; diff --git a/src/dsp/filter/FilterFactory.java b/src/dsp/filter/FilterFactory.java index 24f56fcc..bbd3ec31 100644 --- a/src/dsp/filter/FilterFactory.java +++ b/src/dsp/filter/FilterFactory.java @@ -17,32 +17,23 @@ ******************************************************************************/ package dsp.filter; +import gui.SDRTrunk; + import java.util.Arrays; import java.util.Set; import java.util.TreeSet; -import log.Log; - import org.jtransforms.fft.DoubleFFT_1D; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import dsp.filter.Window.WindowType; public class FilterFactory { + private final static Logger mLog = + LoggerFactory.getLogger( FilterFactory.class ); - public static void main( String[] args ) - { - Log.info( "Testing filter factory" ); - - double[] coefficients = getCICCleanupFilter( 48000, 1, WindowType.BLACKMAN ); - - for( int x = 0; x < coefficients.length; x++ ) - { - Log.info( x + ": " + coefficients[ x ] ); - } - - Log.info( "Finished" ); - } /** * Generates coefficients for a unity-gain, windowed low-pass filter * @param sampleRate - hertz @@ -514,7 +505,7 @@ public class FilterFactory int stage1 = findClosest( optimalStage1, factors ); - Log.info( "Decimation rate [" + decimation + + mLog.info( "Decimation rate [" + decimation + "] stage1 optimal [" + optimalStage1 + "] stage1 actual [" + stage1 + "]"); @@ -625,7 +616,7 @@ public class FilterFactory int retVal = (int)( 2.0d * decimation * ( numerator / denominator ) ); - Log.info( "Optimal Stage 1 Decimation - rate [" + sampleRate + + mLog.info( "Optimal Stage 1 Decimation - rate [" + sampleRate + "] pass [" + passFrequency + "] bw ratio [" + ratio + "] optimal [" + retVal + diff --git a/src/dsp/nbfm/NBFMDemodulator.java b/src/dsp/nbfm/NBFMDemodulator.java index ff548369..021e5824 100644 --- a/src/dsp/nbfm/NBFMDemodulator.java +++ b/src/dsp/nbfm/NBFMDemodulator.java @@ -17,11 +17,9 @@ ******************************************************************************/ package dsp.nbfm; -import log.Log; import sample.Broadcaster; import sample.Listener; import sample.complex.ComplexSample; -import dsp.afc.AutomaticFrequencyControl; import dsp.filter.ComplexFIRFilter; import dsp.filter.FilterFactory; import dsp.filter.Window.WindowType; diff --git a/src/eventlog/EventLogger.java b/src/eventlog/EventLogger.java index 5baf6475..9a04c14e 100644 --- a/src/eventlog/EventLogger.java +++ b/src/eventlog/EventLogger.java @@ -17,6 +17,8 @@ ******************************************************************************/ package eventlog; +import gui.SDRTrunk; + import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; @@ -25,11 +27,16 @@ import java.io.OutputStreamWriter; import java.io.Writer; import java.nio.file.Path; -import log.Log; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import util.TimeStamp; public abstract class EventLogger { + private final static Logger mLog = + LoggerFactory.getLogger( EventLogger.class ); + /* Illegal filename characters */ private static final String[] mIllegalCharacters = { "#", "%", "&", "{", "}", "\\", "<", ">", "*", "?", "/", @@ -73,7 +80,7 @@ public abstract class EventLogger mLogFileName = sb.toString(); - Log.info( "Creating log file:" + mLogFileName ); + mLog.info( "Creating log file:" + mLogFileName ); mLogFile = new OutputStreamWriter(new FileOutputStream( mLogFileName ) ); @@ -81,7 +88,7 @@ public abstract class EventLogger } catch (FileNotFoundException e) { - Log.error("Couldn't create log file in directory:" + mLogDirectory ); + mLog.error("Couldn't create log file in directory:" + mLogDirectory ); } } @@ -109,7 +116,7 @@ public abstract class EventLogger } catch( Exception e ) { - Log.error( "Couldn't close log file:" + mFileNameSuffix ); + mLog.error( "Couldn't close log file:" + mFileNameSuffix ); } } } @@ -122,7 +129,7 @@ public abstract class EventLogger } catch ( IOException e ) { - Log.error( "Error writing entry to event log file:" + e.getLocalizedMessage() ); + mLog.error( "Error writing entry to event log file", e ); } } } diff --git a/src/gui/SDRTrunk.java b/src/gui/SDRTrunk.java index bef3bfca..a1c229ba 100644 --- a/src/gui/SDRTrunk.java +++ b/src/gui/SDRTrunk.java @@ -29,6 +29,7 @@ import java.io.IOException; import java.nio.file.FileSystems; import java.nio.file.Files; import java.nio.file.Path; +import java.util.Date; import javax.imageio.ImageIO; import javax.swing.JFrame; @@ -37,8 +38,11 @@ import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JSeparator; -import log.Log; import net.miginfocom.swing.MigLayout; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import properties.SystemProperties; import source.tuner.TunerSelectionListener; import spectrum.SpectralDisplayPanel; @@ -51,24 +55,34 @@ import controller.ResourceManager; public class SDRTrunk { - private ResourceManager mResourceManager; + private final static Logger mLog = LoggerFactory.getLogger( SDRTrunk.class ); + + private ResourceManager mResourceManager; private ControllerPanel mControllerPanel; private SpectralDisplayPanel mSpectralPanel; private JFrame mMainGui = new JFrame(); public SDRTrunk() { + mLog.info( "" ); + mLog.info( "" ); + mLog.info( "*******************************************************************" ); + mLog.info( "**** SDRTrunk: a trunked radio and digital decoding application ***" ); + mLog.info( "**** website: https://code.google.com/p/sdrtrunk ***" ); + mLog.info( "*******************************************************************" ); + mLog.info( "" ); + mLog.info( "" ); + //Setup the application home directory Path home = getHomePath(); + + mLog.info( "Home path: " + home.toString() ); //Load properties file if( home != null ) { loadProperties( home ); } - - //Start the logger - Log.init(); //Log current properties setting SystemProperties.getInstance().logCurrentSettings(); @@ -82,7 +96,8 @@ public class SDRTrunk //Initialize the GUI initGUI(); - Log.info( "Starting the main gui" ); + mLog.info( "starting main application gui" ); + //Start the gui EventQueue.invokeLater( new Runnable() { @@ -210,9 +225,9 @@ public class SDRTrunk } catch ( IOException e ) { - Log.error( "Couldn't create 'screen_captures' " + mLog.error( "Couldn't create 'screen_captures' " + "subdirectory in the " + - "SDRTrunk application directory" ); + "SDRTrunk application directory", e ); } } @@ -233,15 +248,14 @@ public class SDRTrunk } catch ( IOException e ) { - Log.error( "Couldn't write screen capture to " - + "file [" + captureFile.toString() + "]" ); + mLog.error( "Couldn't write screen capture to " + + "file [" + captureFile.toString() + "]", e ); } }} ); } catch ( AWTException e ) { - Log.error( "Exception while taking screen capture - " + - e.getLocalizedMessage() ); + mLog.error( "Exception while taking screen capture", e ); } } } ); @@ -261,15 +275,15 @@ public class SDRTrunk { try { - Log.info( "SDRTrunk - creating application properties file [" + + mLog.info( "SDRTrunk - creating application properties file [" + propsPath.toAbsolutePath() + "]" ); Files.createFile( propsPath ); } catch ( IOException e ) { - Log.error( "SDRTrunk - couldn't create application properties " - + "file [" + propsPath.toAbsolutePath() ); + mLog.error( "SDRTrunk - couldn't create application properties " + + "file [" + propsPath.toAbsolutePath(), e ); } } @@ -279,7 +293,7 @@ public class SDRTrunk } else { - Log.error( "SDRTrunk - couldn't find or recreate the SDRTrunk " + + mLog.error( "SDRTrunk - couldn't find or recreate the SDRTrunk " + "application properties file" ); } } @@ -301,15 +315,15 @@ public class SDRTrunk { Files.createDirectory( homePath ); - Log.info( "SDRTrunk - created application home directory [" + + mLog.info( "SDRTrunk - created application home directory [" + homePath.toString() + "]" ); } catch ( Exception e ) { homePath = null; - Log.error( "SDRTrunk: exception while creating SDRTrunk home " + - "directory in the user's home directory" ); + mLog.error( "SDRTrunk: exception while creating SDRTrunk home " + + "directory in the user's home directory", e ); } } diff --git a/src/gui/control/JFrequencyControl.java b/src/gui/control/JFrequencyControl.java index 5f4fa260..d70e25c8 100644 --- a/src/gui/control/JFrequencyControl.java +++ b/src/gui/control/JFrequencyControl.java @@ -34,19 +34,24 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; -import javax.swing.BorderFactory; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTextField; -import log.Log; import net.miginfocom.swing.MigLayout; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import source.tuner.FrequencyChangeListener; public class JFrequencyControl extends JPanel implements FrequencyChangeListener { private static final long serialVersionUID = 1L; - private ArrayList mListeners = + private final static Logger mLog = + LoggerFactory.getLogger( JFrequencyControl.class ); + + private ArrayList mListeners = new ArrayList(); private Color mHighlightColor = Color.YELLOW; @@ -84,8 +89,8 @@ public class JFrequencyControl extends JPanel implements FrequencyChangeListener } catch ( ParseException e ) { - Log.error( "JFrequencyControl - parse exception " - + "constructing a digit - " + e.getLocalizedMessage() ); + mLog.error( "JFrequencyControl - parse exception " + + "constructing a digit - " + e ); } if( digit != null ) diff --git a/src/instrument/gui/DecoderViewFrame.java b/src/instrument/gui/DecoderViewFrame.java index 969cab91..8dc66e52 100644 --- a/src/instrument/gui/DecoderViewFrame.java +++ b/src/instrument/gui/DecoderViewFrame.java @@ -42,9 +42,12 @@ import javax.swing.JMenuItem; import javax.swing.JPopupMenu; import javax.swing.JSeparator; -import log.Log; import message.Message; import net.miginfocom.swing.MigLayout; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import sample.Listener; import source.Source.SampleType; import source.wave.FloatWaveSource; @@ -56,6 +59,8 @@ public class DecoderViewFrame extends JInternalFrame implements PositionListener, Listener { private static final long serialVersionUID = 1L; + private final static Logger mLog = + LoggerFactory.getLogger( DecoderViewFrame.class ); private Decoder mDecoder; private WaveSource mWaveSource; @@ -70,7 +75,7 @@ public class DecoderViewFrame extends JInternalFrame if( source.getSampleType() == SampleType.COMPLEX ) { - Log.error( "Hey, we're not wired up yet for complex" ); + mLog.error( "Hey, we're not wired up yet for complex" ); } else if( source.getSampleType() == SampleType.FLOAT ) { @@ -181,7 +186,7 @@ public class DecoderViewFrame extends JInternalFrame } else { - Log.info( "Tap panel is null, couldn't add for tap " + + mLog.info( "Tap panel is null, couldn't add for tap " + tap.getName() + "[" + tap.getType().toString() + "]" ); } } @@ -272,6 +277,6 @@ public class DecoderViewFrame extends JInternalFrame @Override public void receive( Message message ) { - Log.info( "Decoder message: " + message.toString() ); + mLog.info( "Decoder message: " + message.toString() ); } } diff --git a/src/instrument/gui/SampleModel.java b/src/instrument/gui/SampleModel.java index 14109f59..69c3948c 100644 --- a/src/instrument/gui/SampleModel.java +++ b/src/instrument/gui/SampleModel.java @@ -24,11 +24,14 @@ import java.util.Collections; import java.util.List; import java.util.Observable; -import log.Log; -import dsp.fsk.SymbolEvent; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public class SampleModel extends Observable implements TapListener { + private final static Logger mLog = + LoggerFactory.getLogger( SampleModel.class ); + private int mSampleCount = 2000; private int mDelay = 0; private ArrayList mSamples = new ArrayList(); diff --git a/src/instrument/gui/Viewer.java b/src/instrument/gui/Viewer.java index 7c152038..ec6d28bc 100644 --- a/src/instrument/gui/Viewer.java +++ b/src/instrument/gui/Viewer.java @@ -31,7 +31,9 @@ import javax.swing.JMenuItem; import javax.swing.JSeparator; import javax.swing.filechooser.FileFilter; -import log.Log; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import source.Source; import source.wave.ComplexWaveSource; import source.wave.FloatWaveSource; @@ -39,6 +41,8 @@ import source.wave.WaveSource; public class Viewer { + private final static Logger mLog = LoggerFactory.getLogger( Viewer.class ); + private JFrame mFrame; private JDesktopPane mDesktop; @@ -129,7 +133,7 @@ public class Viewer private void setSourceFile( File file ) { - Log.info( "File selected [" + file.getAbsolutePath() + "]"); + mLog.info( "File selected [" + file.getAbsolutePath() + "]"); WaveSource source = null; @@ -141,12 +145,11 @@ public class Viewer source = floatSource; - Log.info( "File opened as float wave file" ); + mLog.info( "File opened as float wave file" ); } catch( Exception e ) { - Log.error( "Couldn't open file as float source - " + - e.getLocalizedMessage() ); + mLog.error( "Couldn't open file as float source", e); } if( source == null ) @@ -159,12 +162,11 @@ public class Viewer source = complex; - Log.info( "File opened as complex wave file" ); + mLog.info( "File opened as complex wave file" ); } catch( Exception e ) { - Log.error( "Couldn't open file as float source - " + - e.getLocalizedMessage() ); + mLog.error( "Couldn't open file as float source", e); } } diff --git a/src/instrument/gui/WaveSourceFrame.java b/src/instrument/gui/WaveSourceFrame.java index 65f4e9c3..03d9fcfa 100644 --- a/src/instrument/gui/WaveSourceFrame.java +++ b/src/instrument/gui/WaveSourceFrame.java @@ -34,9 +34,12 @@ import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JTextField; -import log.Log; import message.MessageDirection; import net.miginfocom.swing.MigLayout; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import source.Source.SampleType; import source.wave.WaveSource; import source.wave.WaveSource.PositionListener; @@ -52,6 +55,10 @@ import decode.passport.PassportDecoder; public class WaveSourceFrame extends JInternalFrame implements PositionListener { + private static final long serialVersionUID = 1L; + private final static Logger mLog = + LoggerFactory.getLogger( WaveSourceFrame.class ); + private WaveSource mSource; private JDesktopPane mDesktop; @@ -128,7 +135,7 @@ public class WaveSourceFrame extends JInternalFrame implements PositionListener DecoderType selected = (DecoderType)mComboDecoders.getSelectedItem(); - Log.info( "Selected:" + selected.getDisplayString() ); + mLog.info( "Selected:" + selected.getDisplayString() ); Decoder decoder = null; @@ -189,8 +196,8 @@ public class WaveSourceFrame extends JInternalFrame implements PositionListener } catch ( IOException e ) { - Log.error( "Viewer - error trying to fetch next [" + - mCount + "] samples - " + e.getLocalizedMessage() ); + mLog.error( "Viewer - error trying to fetch next [" + + mCount + "] samples", e ); JOptionPane.showMessageDialog( WaveSourceFrame.this, "Cannot read " + mCount + " more samples [" + @@ -230,8 +237,8 @@ public class WaveSourceFrame extends JInternalFrame implements PositionListener } catch( Exception e ) { - Log.error( "WaveSourceFrame - exception during jump " - + "to - " + e.getLocalizedMessage() ); + mLog.error( "WaveSourceFrame - exception during jump " + + "to", e ); JOptionPane.showMessageDialog( WaveSourceFrame.this, "Can't jump to position [" + getText() + "]", diff --git a/src/instrument/tap/stream/FloatTapPhaseViewPanel.java b/src/instrument/tap/stream/FloatTapPhaseViewPanel.java index 84860735..33044e93 100644 --- a/src/instrument/tap/stream/FloatTapPhaseViewPanel.java +++ b/src/instrument/tap/stream/FloatTapPhaseViewPanel.java @@ -17,6 +17,7 @@ ******************************************************************************/ package instrument.tap.stream; +import gui.SDRTrunk; import instrument.gui.SampleModel; import instrument.tap.Tap; import instrument.tap.TapViewPanel; @@ -29,11 +30,15 @@ import java.awt.geom.Point2D; import java.util.List; import java.util.Observable; -import log.Log; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public class FloatTapPhaseViewPanel extends TapViewPanel { - private static final long serialVersionUID = 1L; + private final static Logger mLog = + LoggerFactory.getLogger( FloatTapPhaseViewPanel.class ); + + private static final long serialVersionUID = 1L; private Tap mTap; private List mSamples; private int mSampleCount; @@ -50,7 +55,7 @@ public class FloatTapPhaseViewPanel extends TapViewPanel getModel().setSampleCount( mSampleCount ); getModel().setDelay( tap.getDelay() ); - Log.info( "Float Tap Panel [" + tap.getName() + "] count: " + + mLog.info( "Float Tap Panel [" + tap.getName() + "] count: " + getModel().getSampleCount() + " delay:" + getModel().getDelay() ); } diff --git a/src/instrument/tap/stream/FloatTapViewPanel.java b/src/instrument/tap/stream/FloatTapViewPanel.java index bfc244f6..1c3ec9e5 100644 --- a/src/instrument/tap/stream/FloatTapViewPanel.java +++ b/src/instrument/tap/stream/FloatTapViewPanel.java @@ -17,6 +17,7 @@ ******************************************************************************/ package instrument.tap.stream; +import gui.SDRTrunk; import instrument.gui.SampleModel; import instrument.tap.Tap; import instrument.tap.TapViewPanel; @@ -29,11 +30,14 @@ import java.awt.geom.Point2D; import java.util.List; import java.util.Observable; -import log.Log; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public class FloatTapViewPanel extends TapViewPanel { private static final long serialVersionUID = 1L; + private final static Logger mLog = LoggerFactory.getLogger( SDRTrunk.class ); + private Tap mTap; private List mSamples; private int mSampleCount; @@ -50,7 +54,7 @@ public class FloatTapViewPanel extends TapViewPanel getModel().setSampleCount( mSampleCount ); getModel().setDelay( tap.getDelay() ); - Log.info( "Float Tap Panel [" + tap.getName() + "] count: " + + mLog.info( "Float Tap Panel [" + tap.getName() + "] count: " + getModel().getSampleCount() + " delay:" + getModel().getDelay() ); } @@ -109,7 +113,7 @@ public class FloatTapViewPanel extends TapViewPanel float scaledValue = value / (float)Short.MAX_VALUE; - Log.info( "Float value is:" + scaledValue ); +// mLog.info( "Float value is:" + scaledValue ); float y = middle - ( middle * scaledValue * mVerticalZoom ); /* Clip y to zero as necessary */ diff --git a/src/instrument/tap/stream/SymbolEventTap.java b/src/instrument/tap/stream/SymbolEventTap.java index 540c0c30..a5b05185 100644 --- a/src/instrument/tap/stream/SymbolEventTap.java +++ b/src/instrument/tap/stream/SymbolEventTap.java @@ -17,7 +17,6 @@ ******************************************************************************/ package instrument.tap.stream; -import log.Log; import instrument.tap.TapListener; import instrument.tap.TapType; import sample.Listener; diff --git a/src/instrument/tap/stream/SymbolEventTapViewPanel.java b/src/instrument/tap/stream/SymbolEventTapViewPanel.java index f4ec914f..f1e4ab27 100644 --- a/src/instrument/tap/stream/SymbolEventTapViewPanel.java +++ b/src/instrument/tap/stream/SymbolEventTapViewPanel.java @@ -29,7 +29,6 @@ import java.awt.geom.Rectangle2D; import java.util.List; import java.util.Observable; -import log.Log; import dsp.fsk.SymbolEvent; public class SymbolEventTapViewPanel extends TapViewPanel diff --git a/src/log/Log.java b/src/log/Log.java deleted file mode 100644 index eeb3eb66..00000000 --- a/src/log/Log.java +++ /dev/null @@ -1,280 +0,0 @@ -/******************************************************************************* - * SDR Trunk - * Copyright (C) 2014 Dennis Sheirer - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see - ******************************************************************************/ -package log; - -import java.io.FileNotFoundException; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.OutputStreamWriter; -import java.io.Writer; -import java.nio.file.Files; -import java.nio.file.Path; - -import properties.SystemProperties; -import util.TimeStamp; - -public class Log -{ - private static Writer mLogFile; - - public Log() - { - } - - private static void log( String msg ) - { - log( msg, null); - } - - /** - * Logs just the raw message, without a preceeding timestamp - */ - public void logRaw( String rawmsg ) - { - try - { - mLogFile.write( rawmsg ); - } - catch ( IOException e ) - { - System.out.println( - "Couldn't write warning msg to log file: " + rawmsg ); - } - } - - private static void log( String msg, String label) - { - if( mLogFile != null ) - { - try - { - mLogFile.write( TimeStamp.getTimeStamp( " " ) ); - mLogFile.write( " " ); - - if( label != null ) - { - mLogFile.write( label + ":" ); - } - - mLogFile.write( msg + "\n" ); - mLogFile.flush(); - - } - catch (IOException e) - { - System.out.println( - "Couldn't write warning msg to log file: " + msg ); - } - } - - //echo to console - System.out.println( ( label == null ? "" : label + ": " ) + msg ); - } - - private static void log( String msg, String label, Throwable throwable ) - { - StringBuilder sb = new StringBuilder(); - - if( msg != null ) - { - sb.append( msg ); - sb.append( "\n" ); - } - - sb.append( "---- STACK TRACE ----\n" ); - sb.append( "\tERROR: " ); - sb.append( "\tCause: " + throwable.getCause().toString() ); - sb.append( "\t" + throwable.getMessage() ); - sb.append( "\t" + throwable.getLocalizedMessage() + "\n" ); - - StackTraceElement[] stack = throwable.getStackTrace(); - - for( StackTraceElement element: stack ) - { - sb.append( "\t" ); - sb.append( element.toString() ); - sb.append( ":" ); - sb.append( element.getLineNumber() ); - sb.append( "\n" ); - } - - sb.append( "\n" ); - - log( sb.toString(), label ); - - for( Throwable t: throwable.getSuppressed() ) - { - log( "Suppressed", label, t ); - } - } - - public static void header( String name ) - { - StringBuilder sb = new StringBuilder(); - - sb.append( "********** " ); - sb.append( name ); - sb.append( " **********" ); - - log( sb.toString() ); - } - - public static void info( String msg ) - { - log( msg ); - } - - public static void info( byte[] bytes ) - { - StringBuilder sb = new StringBuilder(); - - for( int x = 0; x < bytes.length; x++ ) - { - sb.append( String.format( "%02X ", bytes[ x ] ) ); - } - - info( sb.toString() ); - } - - public static void info( String header, byte[] bytes ) - { - StringBuilder sb = new StringBuilder(); - - sb.append( header ); - - for( int x = 0; x < bytes.length; x++ ) - { - sb.append( String.format( "%02X ", bytes[ x ] ) ); - } - - info( sb.toString() ); - } - - public static void warning( String msg ) - { - log( msg, "WARNING" ); - } - - public static void error( String msg ) - { - log( msg, "ERROR" ); - } - - public static void error( String msg, Throwable throwable ) - { - log( msg, "ERROR", throwable ); - } - - public static void debug( String msg ) - { - log( msg, "DEBUG" ); - } - - public static void debug( String msg, Throwable throwable ) - { - log( msg, "DEBUG", throwable ); - } - - /** - * Initializes logging to the specified filename - */ - public static void init( String filename ) - { - try - { - mLogFile = new OutputStreamWriter( - new FileOutputStream( filename ) ); - - Log.info( "SDRTrunk Multi-Channel Trunking Decoder Application Log" ); - Log.info( "Log - application logging started [" + filename + "]" ); - - logUserEnvironment(); - } - catch (FileNotFoundException e) - { - System.out.println("Couldn't open log file:" + filename ); - } - } - - /** - * Initializes the log file using system properties settings - */ - public static void init() - { - SystemProperties props = SystemProperties.getInstance(); - - String logBaseFileName = props.get( "log.basefilename", - "_SDRTrunk_application" ); - - Path logPath = props.getApplicationFolder( "logs" ); - - if( !Files.exists( logPath ) ) - { - try - { - Files.createDirectory( logPath ); - } - catch ( IOException e ) - { - Log.error( "Log - couldn't create 'logs' subdirectory in the " + - "SDRTrunk application directory" ); - } - } - - String logFileName = TimeStamp.getTimeStamp( "_" ) + logBaseFileName + - ".log"; - - Path logFile = logPath.resolve( logFileName ); - - init( logFile.toString() ); - } - - public static void logUserEnvironment() - { - Log.header( "User Environment" ); - Log.info( "OS:\t\t\t" + System.getProperty( "os.name" ) ); - Log.info( "OS Version:\t\t" + System.getProperty( "os.version" ) ); - Log.info( "OS Arch:\t\t" + System.getProperty( "os.arch" ) ); - Log.info( "Java Vendor:\t\t" + System.getProperty( "java.vendor" ) ); - Log.info( "Java Vendor URL:\t" + System.getProperty( "java.vendor.url" ) ); - Log.info( "Java Version:\t\t" + System.getProperty( "java.version" ) ); - Log.info( "User:\t\t\t" + System.getProperty( "user.name" ) ); - Log.info( "User Home:\t\t" + System.getProperty( "user.home" ) ); - Log.info( "User Directory:\t\t" + System.getProperty( "user.dir" ) ); - - Log.header( "Java Class Path" ); - Log.info( System.getProperty( "java.class.path" ) ); - - } - - public static void close() - { - if( mLogFile != null ) - { - try - { - mLogFile.flush(); - mLogFile.close(); - } - catch( Exception e ) - { - System.out.println( "Couldn't close log file" ); - } - } - } -} diff --git a/src/map/IconManager.java b/src/map/IconManager.java index 13697c99..517429cf 100644 --- a/src/map/IconManager.java +++ b/src/map/IconManager.java @@ -17,6 +17,8 @@ ******************************************************************************/ package map; +import gui.SDRTrunk; + import java.awt.Component; import java.awt.Dimension; import java.awt.event.ActionEvent; @@ -43,7 +45,9 @@ import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; import javax.swing.filechooser.FileFilter; -import log.Log; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import net.miginfocom.swing.MigLayout; import settings.Setting; import settings.SettingChangeListener; @@ -56,6 +60,8 @@ public class IconManager extends JFrame public enum Mode { NORMAL, NEW, EDIT } private static final long serialVersionUID = 1L; + private final static Logger mLog = + LoggerFactory.getLogger( IconManager.class ); private ResourceManager mResourceManager; @@ -334,11 +340,9 @@ public class IconManager extends JFrame { case EDIT: //Cancel case NEW: //Cancel - Log.info( "Right clicked - cancel" ); setMode( Mode.NORMAL ); break; case NORMAL: //Edit - Log.info( "Right clicked - edit" ); setMode( Mode.EDIT ); break; } diff --git a/src/map/MapMouseListener.java b/src/map/MapMouseListener.java index 96e5b007..ff5ed54d 100644 --- a/src/map/MapMouseListener.java +++ b/src/map/MapMouseListener.java @@ -26,19 +26,15 @@ import java.awt.event.MouseEvent; import java.awt.event.MouseWheelListener; import java.awt.geom.Point2D; -import javax.swing.JMenu; import javax.swing.JMenuItem; import javax.swing.JPopupMenu; import javax.swing.SwingUtilities; import javax.swing.event.MouseInputAdapter; -import log.Log; - import org.jdesktop.swingx.JXMapViewer; import org.jdesktop.swingx.mapviewer.GeoPosition; import settings.SettingsManager; -import controller.ResourceManager; public class MapMouseListener extends MouseInputAdapter implements MouseWheelListener { diff --git a/src/org/jdesktop/swingx/input/PanKeyListener.java b/src/org/jdesktop/swingx/input/PanKeyListener.java index f2fdb6ed..cdb7d13d 100644 --- a/src/org/jdesktop/swingx/input/PanKeyListener.java +++ b/src/org/jdesktop/swingx/input/PanKeyListener.java @@ -22,8 +22,6 @@ import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.awt.geom.Point2D; -import log.Log; - import org.jdesktop.swingx.JXMapViewer; /** diff --git a/src/org/jdesktop/swingx/mapviewer/AbstractTileFactory.java b/src/org/jdesktop/swingx/mapviewer/AbstractTileFactory.java index 1c7646a9..eed918b2 100644 --- a/src/org/jdesktop/swingx/mapviewer/AbstractTileFactory.java +++ b/src/org/jdesktop/swingx/mapviewer/AbstractTileFactory.java @@ -17,6 +17,8 @@ ******************************************************************************/ package org.jdesktop.swingx.mapviewer; +import gui.SDRTrunk; + import java.awt.image.BufferedImage; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; @@ -38,9 +40,9 @@ import java.util.concurrent.ThreadFactory; import javax.imageio.ImageIO; import javax.swing.SwingUtilities; -import log.Log; - import org.jdesktop.swingx.mapviewer.util.GeoUtil; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * The AbstractTileFactory provides @@ -48,6 +50,9 @@ import org.jdesktop.swingx.mapviewer.util.GeoUtil; */ public abstract class AbstractTileFactory extends TileFactory { + private final static Logger mLog = + LoggerFactory.getLogger( AbstractTileFactory.class ); + /** * Creates a new instance of DefaultTileFactory using the spcified TileFactoryInfo * @param info a TileFactoryInfo to configure this TileFactory @@ -345,7 +350,6 @@ public abstract class AbstractTileFactory extends TileFactory if (img == null) { System.out.println("error loading: " + uri); - Log.info("Failed to load: " + uri); trys--; } else @@ -371,11 +375,13 @@ public abstract class AbstractTileFactory extends TileFactory { if (trys == 0) { - Log.error("Failed to load a tile at url: " + tile.getURL() + ", stopping - " + e.getLocalizedMessage() ); + mLog.error("Failed to load a tile at url: " + + tile.getURL() + ", stopping", e ); } else { - Log.warning("Failed to load a tile at url: " + tile.getURL() + ", retrying - " + e.getLocalizedMessage() ); + mLog.error("Failed to load a tile at url: " + + tile.getURL() + ", retrying", e ); trys--; } } diff --git a/src/org/jdesktop/swingx/mapviewer/DefaultWaypointRenderer.java b/src/org/jdesktop/swingx/mapviewer/DefaultWaypointRenderer.java index a30b608c..67cff805 100644 --- a/src/org/jdesktop/swingx/mapviewer/DefaultWaypointRenderer.java +++ b/src/org/jdesktop/swingx/mapviewer/DefaultWaypointRenderer.java @@ -9,15 +9,17 @@ package org.jdesktop.swingx.mapviewer; +import gui.SDRTrunk; + import java.awt.Graphics2D; import java.awt.geom.Point2D; import java.awt.image.BufferedImage; import javax.imageio.ImageIO; -import log.Log; - import org.jdesktop.swingx.JXMapViewer; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * This is a standard waypoint renderer. @@ -25,6 +27,9 @@ import org.jdesktop.swingx.JXMapViewer; */ public class DefaultWaypointRenderer implements WaypointRenderer { + private final static Logger mLog = + LoggerFactory.getLogger( DefaultWaypointRenderer.class ); + private BufferedImage img = null; /** @@ -38,7 +43,7 @@ public class DefaultWaypointRenderer implements WaypointRenderer } catch (Exception ex) { - Log.warning("couldn't read standard_waypoint.png - " + ex.getLocalizedMessage() ); + mLog.error("couldn't read standard_waypoint.png", ex ); } } diff --git a/src/org/jdesktop/swingx/mapviewer/LocalResponseCache.java b/src/org/jdesktop/swingx/mapviewer/LocalResponseCache.java index f802168e..f3801e62 100644 --- a/src/org/jdesktop/swingx/mapviewer/LocalResponseCache.java +++ b/src/org/jdesktop/swingx/mapviewer/LocalResponseCache.java @@ -34,13 +34,17 @@ import java.net.URLConnection; import java.util.List; import java.util.Map; -import log.Log; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * @author joshy */ public class LocalResponseCache extends ResponseCache { + private final static Logger mLog = + LoggerFactory.getLogger( LocalResponseCache.class ); + private final File cacheDir; private boolean checkForUpdates; @@ -159,12 +163,12 @@ public class LocalResponseCache extends ResponseCache } catch (MalformedURLException ex) { - Log.error("An exception occurred - " + ex.getLocalizedMessage() ); + mLog.error("An exception occurred - ", ex ); return false; } catch (IOException ex) { - Log.error("An exception occurred - " + ex.getLocalizedMessage() ); + mLog.error("An exception occurred - ", ex ); return false; } if (!(conn instanceof HttpURLConnection)) @@ -260,7 +264,7 @@ public class LocalResponseCache extends ResponseCache catch (FileNotFoundException ex) { // should not happen, since we already checked for existence - Log.error("An exception occurred - " + ex.getLocalizedMessage() ); + mLog.error("An exception occurred - ", ex ); } this.headers = rqstHeaders; } @@ -293,7 +297,7 @@ public class LocalResponseCache extends ResponseCache catch (FileNotFoundException ex) { // should not happen if cache dir is valid - Log.error("An exception occurred" + ex.getLocalizedMessage() ); + mLog.error("An exception occurred", ex ); } } diff --git a/src/playlist/PlaylistManager.java b/src/playlist/PlaylistManager.java index 60366013..55ddd59b 100644 --- a/src/playlist/PlaylistManager.java +++ b/src/playlist/PlaylistManager.java @@ -31,11 +31,16 @@ import javax.xml.bind.JAXBException; import javax.xml.bind.Marshaller; import javax.xml.bind.Unmarshaller; -import log.Log; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import properties.SystemProperties; public class PlaylistManager { + private final static Logger mLog = + LoggerFactory.getLogger( PlaylistManager.class ); + private Playlist mPlaylist = new Playlist(); public PlaylistManager() @@ -95,7 +100,8 @@ public class PlaylistManager } catch( Exception e ) { - Log.error( "PlaylistManager - couldn't create file to save playlist [" + filePath.toString() + "]" ); + mLog.error( "PlaylistManager - couldn't create file to save " + + "playlist [" + filePath.toString() + "]" ); } OutputStream out = null; @@ -116,15 +122,14 @@ public class PlaylistManager } catch ( JAXBException e ) { - Log.error( "PlaylistManager - jaxb exception while saving " + - "playlist: " + e.getLocalizedMessage() ); - e.printStackTrace(); + mLog.error( "PlaylistManager - jaxb exception while saving " + + "playlist: ", e ); } } catch ( Exception e ) { - Log.error( "PlaylistManager - coulcn't open outputstream to " + - "save playlist [" + filePath.toString() + "]" ); + mLog.error( "PlaylistManager - coulcn't open outputstream to " + + "save playlist [" + filePath.toString() + "]", e ); } finally { @@ -150,7 +155,7 @@ public class PlaylistManager { if( Files.exists( playlistPath ) ) { - Log.info( "PlaylistManager - loading playlist file [" + + mLog.info( "PlaylistManager - loading playlist file [" + playlistPath.toString() + "]" ); JAXBContext context = null; @@ -171,17 +176,14 @@ public class PlaylistManager } catch ( JAXBException e ) { - Log.error( "PlaylistManager - jaxb exception while loading " + - "playlist: " + e.getLocalizedMessage() ); - - e.printStackTrace(); + mLog.error( "PlaylistManager - jaxb exception while loading " + + "playlist: ", e ); } } catch ( Exception e ) { - e.printStackTrace(); - Log.error( "PlaylistManager - coulcn't open inputstream to " + - "load playlist [" + playlistPath.toString() + "]" ); + mLog.error( "PlaylistManager - coulcn't open inputstream to " + + "load playlist [" + playlistPath.toString() + "]", e ); } finally { @@ -193,16 +195,15 @@ public class PlaylistManager } catch ( IOException e ) { - Log.error( "PlaylistManager - exception while closing " + - "the playlist file inputstream reader - " + - e.getLocalizedMessage() ); + mLog.error( "PlaylistManager - exception while closing " + + "the playlist file inputstream reader", e ); } } } } else { - Log.info( "PlaylistManager - playlist does not exist [" + + mLog.info( "PlaylistManager - playlist does not exist [" + playlistPath.toString() + "]" ); } diff --git a/src/properties/SystemProperties.java b/src/properties/SystemProperties.java index 1bbc43dc..bf4b33f4 100644 --- a/src/properties/SystemProperties.java +++ b/src/properties/SystemProperties.java @@ -28,7 +28,8 @@ import java.nio.file.Path; import java.nio.file.Paths; import java.util.Properties; -import log.Log; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * SystemProperties - provides an isolated instance of properties for the @@ -37,6 +38,9 @@ import log.Log; public class SystemProperties { + private final static Logger mLog = + LoggerFactory.getLogger( SystemProperties.class ); + private static String sDEFAULT_APP_ROOT = "SDRTrunk"; private static String sPROPERTIES_FILENAME = "SDRTrunk.properties"; @@ -83,13 +87,13 @@ public class SystemProperties mProperties.store( out, comments ); - Log.info( "SystemProperties - saved current properties [" + + mLog.info( "SystemProperties - saved current properties [" + propsPath.toString() + "]" ); } catch( Exception e ) { - Log.error( "SystemProperties - exception while saving " + - "application properties:" + e.getLocalizedMessage() ); + mLog.error( "SystemProperties - exception while saving " + + "application properties", e ); } finally { @@ -142,8 +146,8 @@ public class SystemProperties } catch ( IOException e ) { - Log.error( "SystemProperties - exception while creating " + - "app folder [" + folder + "]" ); + mLog.error( "SystemProperties - exception while creating " + + "app folder [" + folder + "]", e ); } } @@ -154,11 +158,11 @@ public class SystemProperties { if( mPropertiesPath == null ) { - Log.info( "SystemProperties - no properties file loaded - using defaults" ); + mLog.info( "SystemProperties - no properties file loaded - using defaults" ); } else { - Log.info( "SystemProperties - application properties loaded [" + mPropertiesPath.toString() + "]" ); + mLog.info( "SystemProperties - application properties loaded [" + mPropertiesPath.toString() + "]" ); } } @@ -180,8 +184,8 @@ public class SystemProperties } catch ( FileNotFoundException e ) { - Log.error( "SDRTrunk - exception while opening inputstream on " + - "application properties file - " + e.getLocalizedMessage() ); + mLog.error( "SDRTrunk - exception while opening inputstream on " + + "application properties file", e ); } if( in != null ) @@ -192,9 +196,8 @@ public class SystemProperties } catch ( IOException e ) { - Log.error( "SDRTrunk - exception while loading properties " + - "inputstream into SystemProperties - " + - e.getLocalizedMessage() ); + mLog.error( "SDRTrunk - exception while loading properties " + + "inputstream into SystemProperties", e ); } finally { @@ -209,7 +212,7 @@ public class SystemProperties } } - Log.info( "SystemProperties - loaded [" + + mLog.info( "SystemProperties - loaded [" + propertiesPath.toString() + "]" ); } diff --git a/src/record/wave/BooleanWaveRecorder.java b/src/record/wave/BooleanWaveRecorder.java index ae7ebc45..fab3b04f 100644 --- a/src/record/wave/BooleanWaveRecorder.java +++ b/src/record/wave/BooleanWaveRecorder.java @@ -23,7 +23,9 @@ import java.util.concurrent.LinkedBlockingQueue; import javax.sound.sampled.AudioFormat; -import log.Log; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import record.Recorder; import record.RecorderType; import sample.Listener; @@ -35,6 +37,9 @@ import buffer.FloatSampleBufferAssembler; */ public class BooleanWaveRecorder extends Recorder implements Listener { + private final static Logger mLog = + LoggerFactory.getLogger( BooleanWaveRecorder.class ); + private AudioFormat mAudioFormat; private boolean mRunning = false; private boolean mPaused = false; @@ -117,7 +122,8 @@ public class BooleanWaveRecorder extends Recorder implements Listener if( !success ) { - Log.error( "Wave recorder buffer overflow - throwing away " + buffer.capacity() + " samples" ); + mLog.error( "Wave recorder buffer overflow - throwing away " + + buffer.capacity() + " samples" ); } } } @@ -137,7 +143,8 @@ public class BooleanWaveRecorder extends Recorder implements Listener if( !mToWriteBufferQueue.offer( mCurrentBuffer.get() ) ) { //We had an overflow ... log it - Log.error( "ShortWaveRecorder: buffer overflow - throwing away 1 second of sample data" ); + mLog.error( "ShortWaveRecorder: buffer overflow - throwing " + + "away 1 second of sample data" ); } mCurrentBuffer.reset(); @@ -159,12 +166,13 @@ public class BooleanWaveRecorder extends Recorder implements Listener } catch ( IOException ioe ) { - Log.error( "IOException while trying to write to the wave writer - " + ioe.getLocalizedMessage() ); + mLog.error( "IOException while trying to write to the " + + "wave writer", ioe ); } catch ( InterruptedException e ) { - Log.error( "Oops ... error while processing the buffer queue for " + - " the wave recorder - " + e.getLocalizedMessage() ); + mLog.error( "Oops ... error while processing the buffer " + + "queue for the wave recorder", e ); } } } diff --git a/src/record/wave/ComplexWaveRecorder.java b/src/record/wave/ComplexWaveRecorder.java index 6b3fc23e..1c0336ef 100644 --- a/src/record/wave/ComplexWaveRecorder.java +++ b/src/record/wave/ComplexWaveRecorder.java @@ -23,7 +23,9 @@ import java.util.concurrent.LinkedBlockingQueue; import javax.sound.sampled.AudioFormat; -import log.Log; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import record.Recorder; import record.RecorderType; import sample.Listener; @@ -37,6 +39,9 @@ import buffer.ComplexSampleBufferAssembler; */ public class ComplexWaveRecorder extends Recorder implements Listener { + private final static Logger mLog = + LoggerFactory.getLogger( ComplexWaveRecorder.class ); + private AudioFormat mAudioFormat; private boolean mRunning = false; private boolean mPaused = false; @@ -119,7 +124,7 @@ public class ComplexWaveRecorder extends Recorder implements Listener { + private final static Logger mLog = + LoggerFactory.getLogger( FloatWaveRecorder.class ); + private AudioFormat mAudioFormat; private boolean mRunning = false; private boolean mPaused = false; @@ -117,7 +122,7 @@ public class FloatWaveRecorder extends Recorder implements Listener if( !success ) { - Log.error( "Wave recorder buffer overflow - throwing away " + + mLog.error( "Wave recorder buffer overflow - throwing away " + buffer.capacity() + " samples" ); } } @@ -134,7 +139,7 @@ public class FloatWaveRecorder extends Recorder implements Listener if( !mToWriteBufferQueue.offer( mCurrentBuffer.get() ) ) { //We had an overflow ... log it - Log.error( "FloatWaveRecorder: buffer overflow - throwing " + mLog.error( "FloatWaveRecorder: buffer overflow - throwing " + "away 1 second of sample data" ); } @@ -157,14 +162,13 @@ public class FloatWaveRecorder extends Recorder implements Listener } catch ( IOException ioe ) { - Log.error( "IOException while trying to write to the wave " - + "writer - " + ioe.getLocalizedMessage() ); + mLog.error( "IOException while trying to write to the wave " + + "writer", ioe ); } catch ( InterruptedException e ) { - Log.error( "Oops ... error while processing the buffer " - + "queue for the wave recorder - " + - e.getLocalizedMessage() ); + mLog.error( "Oops ... error while processing the buffer " + + "queue for the wave recorder", e ); } } } diff --git a/src/record/wave/WaveRecorder.java b/src/record/wave/WaveRecorder.java index dd12e65d..f160f570 100644 --- a/src/record/wave/WaveRecorder.java +++ b/src/record/wave/WaveRecorder.java @@ -17,13 +17,17 @@ ******************************************************************************/ package record.wave; +import gui.SDRTrunk; + import java.io.IOException; import java.nio.ByteBuffer; import java.util.concurrent.LinkedBlockingQueue; import javax.sound.sampled.AudioFormat; -import log.Log; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import record.Recorder; import record.RecorderType; import util.waveaudio.WaveWriter; @@ -33,6 +37,9 @@ import util.waveaudio.WaveWriter; */ public class WaveRecorder extends Recorder { + private final static Logger mLog = + LoggerFactory.getLogger( WaveRecorder.class ); + private AudioFormat mAudioFormat; private boolean mRunning = false; private boolean mPaused = false; @@ -101,7 +108,8 @@ public class WaveRecorder extends Recorder if( !success ) { - Log.error( "Wave recorder buffer overflow - throwing away " + buffer.capacity() + " samples" ); + mLog.error( "Wave recorder buffer overflow - throwing away " + + buffer.capacity() + " samples" ); } } } @@ -121,12 +129,13 @@ public class WaveRecorder extends Recorder } catch ( IOException ioe ) { - Log.error( "IOException while trying to write to the wave writer - " + ioe.getLocalizedMessage() ); + mLog.error( "IOException while trying to write to the " + + "wave writer", ioe ); } catch ( InterruptedException e ) { - Log.error( "Oops ... error while processing the buffer queue for " + - " the wave recorder - " + e.getLocalizedMessage() ); + mLog.error( "Oops ... error while processing the buffer" + + " queue for the wave recorder", e ); } } } diff --git a/src/sample/complex/ComplexSample.java b/src/sample/complex/ComplexSample.java index 2f383f62..33e1849e 100644 --- a/src/sample/complex/ComplexSample.java +++ b/src/sample/complex/ComplexSample.java @@ -19,8 +19,6 @@ package sample.complex; import java.io.Serializable; -import log.Log; - /** * ComplexSample for handling left/right channel audio, or inphase/quadrature * samples, etc. diff --git a/src/sample/complex/ComplexSampleRateCounter.java b/src/sample/complex/ComplexSampleRateCounter.java index 4fa42855..81535894 100644 --- a/src/sample/complex/ComplexSampleRateCounter.java +++ b/src/sample/complex/ComplexSampleRateCounter.java @@ -17,9 +17,13 @@ ******************************************************************************/ package sample.complex; +import gui.SDRTrunk; + import java.util.List; -import log.Log; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import sample.Listener; import source.tuner.FrequencyChangeListener; import buffer.FloatAveragingBuffer; @@ -28,6 +32,9 @@ public class ComplexSampleRateCounter implements Listener, ComplexSampleListListener, FrequencyChangeListener { + private final static Logger mLog = + LoggerFactory.getLogger( ComplexSampleRateCounter.class ); + private int mCounter; private int mAverageCounter; private int mExpectedSampleRate; @@ -44,7 +51,7 @@ public class ComplexSampleRateCounter implements Listener, mLastRun = System.currentTimeMillis(); - Log.info( "Complex Sample Rate Counter started ...." ); + mLog.info( "Complex Sample Rate Counter started ...." ); } @Override @@ -65,7 +72,7 @@ public class ComplexSampleRateCounter implements Listener, mAverageCounter++; - Log.info( "Complex Sample Rate Avg " + mAverageCounter + + mLog.info( "Complex Sample Rate Avg " + mAverageCounter + " current [" + elapsed + " ms/" + average + " hz] average [" + runningAverage + " hz] expected [" + mExpectedSampleRate + " hz] over [" + @@ -91,7 +98,7 @@ public class ComplexSampleRateCounter implements Listener, mAverageCounter++; - Log.info( "Complex Sample Rate Avg " + mAverageCounter + + mLog.info( "Complex Sample Rate Avg " + mAverageCounter + " current [" + elapsed + " ms/" + average + " hz] average [" + runningAverage + " hz] expected [" + mExpectedSampleRate + " hz] over [" + diff --git a/src/settings/SettingsManager.java b/src/settings/SettingsManager.java index 940e6f71..5dbe849d 100644 --- a/src/settings/SettingsManager.java +++ b/src/settings/SettingsManager.java @@ -37,11 +37,12 @@ import javax.xml.bind.JAXBException; import javax.xml.bind.Marshaller; import javax.xml.bind.Unmarshaller; -import log.Log; import map.DefaultIcon; import map.MapIcon; import org.jdesktop.swingx.mapviewer.GeoPosition; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import properties.SystemProperties; import settings.ColorSetting.ColorSettingName; @@ -56,6 +57,9 @@ import source.tuner.rtl.r820t.R820TTunerConfiguration; public class SettingsManager { + private final static Logger mLog = + LoggerFactory.getLogger( SettingsManager.class ); + private Settings mSettings = new Settings(); private ArrayList mListeners = @@ -441,7 +445,7 @@ public class SettingsManager } /* Something happened ... the above should always return an icon */ - Log.error( "SettingsManager - couldn't return an icon named [" + + mLog.error( "SettingsManager - couldn't return an icon named [" + name + "] of heigh [" + height + "]" ); return null; @@ -697,8 +701,8 @@ public class SettingsManager } catch( Exception e ) { - Log.error( "SettingsManager - couldn't create file to save " - + "settings [" + filePath.toString() + "]" ); + mLog.error( "SettingsManager - couldn't create file to save " + + "settings [" + filePath.toString() + "]", e ); } OutputStream out = null; @@ -719,13 +723,13 @@ public class SettingsManager } catch ( JAXBException e ) { - Log.error( "SettingsManager - jaxb exception while saving " + - "settings: " + e.getLocalizedMessage() ); + mLog.error( "SettingsManager - jaxb exception while saving " + + "settings", e ); } } catch ( Exception e ) { - Log.error( "SettingsManager - coulcn't open outputstream to " + + mLog.error( "SettingsManager - coulcn't open outputstream to " + "save settings [" + filePath.toString() + "]" ); } finally @@ -752,7 +756,7 @@ public class SettingsManager { if( Files.exists( settingsPath ) ) { - Log.info( "SettingsManager - loading settings file [" + + mLog.info( "SettingsManager - loading settings file [" + settingsPath.toString() + "]" ); JAXBContext context = null; @@ -773,16 +777,14 @@ public class SettingsManager } catch ( JAXBException e ) { - Log.error( "SettingsManager - jaxb exception while loading " + - "settings: " + e.getLocalizedMessage() ); - - e.printStackTrace(); + mLog.error( "SettingsManager - jaxb exception while loading " + + "settings", e ); } } catch ( Exception e ) { - Log.error( "SettingsManager - coulcn't open inputstream to " + - "load settings [" + settingsPath.toString() + "]" ); + mLog.error( "SettingsManager - coulcn't open inputstream to " + + "load settings [" + settingsPath.toString() + "]", e ); } finally { @@ -794,16 +796,15 @@ public class SettingsManager } catch ( IOException e ) { - Log.error( "SettingsManager - exception while closing " + - "the settings file inputstream reader - " + - e.getLocalizedMessage() ); + mLog.error( "SettingsManager - exception while closing " + + "the settings file inputstream reader", e ); } } } } else { - Log.info( "SettingsManager - settings does not exist [" + + mLog.info( "SettingsManager - settings does not exist [" + settingsPath.toString() + "]" ); } diff --git a/src/source/mixer/MixerManager.java b/src/source/mixer/MixerManager.java index 86fe44e7..c4a48f41 100644 --- a/src/source/mixer/MixerManager.java +++ b/src/source/mixer/MixerManager.java @@ -28,7 +28,9 @@ import javax.sound.sampled.Line; import javax.sound.sampled.Mixer; import javax.sound.sampled.TargetDataLine; -import log.Log; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import source.config.SourceConfigMixer; import source.config.SourceConfiguration; import source.tuner.MixerTunerDataLine; @@ -37,6 +39,9 @@ import controller.channel.ProcessingChain; public class MixerManager { + private final static Logger mLog = + LoggerFactory.getLogger( MixerManager.class ); + private static MixerManager sInstance = null; private HashMap mMixerLines = @@ -129,7 +134,7 @@ public class MixerManager { StringBuilder sb = new StringBuilder(); - sb.append( "MixerManager - loading system mixer devices\n" ); + sb.append( "loading system mixer devices\n" ); for( Mixer.Info mixerInfo: AudioSystem.getMixerInfo() ) { @@ -189,7 +194,7 @@ public class MixerManager } } - Log.info( sb.toString() ); + mLog.info( sb.toString() ); } private TargetDataLine getTargetDataLine( Mixer.Info mixerInfo, AudioFormat format ) @@ -254,5 +259,4 @@ public class MixerManager return sb.toString(); } - } diff --git a/src/source/mixer/MixerSource.java b/src/source/mixer/MixerSource.java index 5ce90ca4..163e315b 100644 --- a/src/source/mixer/MixerSource.java +++ b/src/source/mixer/MixerSource.java @@ -27,13 +27,18 @@ import javax.sound.sampled.AudioSystem; import javax.sound.sampled.LineUnavailableException; import javax.sound.sampled.TargetDataLine; -import log.Log; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import sample.Listener; import source.FloatArraySource; import source.SourceException; public class MixerSource extends FloatArraySource { + private final static Logger mLog = + LoggerFactory.getLogger( MixerSource.class ); + private long mFrequency = 0; private int mBufferSize = 16384; @@ -174,7 +179,7 @@ public class MixerSource extends FloatArraySource { mRunning.set( false ); - Log.error( "ComplexMixerSource - mixer target data line" + mLog.error( "ComplexMixerSource - mixer target data line" + " is null" ); } else @@ -201,9 +206,8 @@ public class MixerSource extends FloatArraySource } catch ( LineUnavailableException e ) { - Log.error( "ComplexMixerSource - mixer target data line" - + "not available to read data from - " + - e.getLocalizedMessage() ); + mLog.error( "ComplexMixerSource - mixer target data line" + + "not available to read data from", e ); mRunning.set( false ); } @@ -224,9 +228,8 @@ public class MixerSource extends FloatArraySource } catch ( Exception e ) { - Log.error( "ComplexMixerSource - error while reading" - + "from the mixer target data line - " + - e.getLocalizedMessage() ); + mLog.error( "ComplexMixerSource - error while reading" + + "from the mixer target data line", e ); mRunning.set( false ); } diff --git a/src/source/recording/RecordingSourceManager.java b/src/source/recording/RecordingSourceManager.java index 2db8d8b2..c0de2b69 100644 --- a/src/source/recording/RecordingSourceManager.java +++ b/src/source/recording/RecordingSourceManager.java @@ -17,11 +17,15 @@ ******************************************************************************/ package source.recording; +import gui.SDRTrunk; + import java.util.ArrayList; import java.util.Collections; import java.util.List; -import log.Log; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import settings.SettingsManager; import source.Source; import source.SourceException; @@ -33,6 +37,9 @@ import controller.channel.ProcessingChain; public class RecordingSourceManager { + private final static Logger mLog = + LoggerFactory.getLogger( RecordingSourceManager.class ); + private ResourceManager mResourceManager; private ArrayList mRecordings = new ArrayList(); @@ -138,7 +145,8 @@ public class RecordingSourceManager ArrayList recordingConfigurations = settingsManager.getRecordingConfigurations(); - Log.info( "RecordingSourceManager - discovered [" + recordingConfigurations.size() + "] recording configurations" ); + mLog.info( "RecordingSourceManager - discovered [" + + recordingConfigurations.size() + "] recording configurations" ); for( RecordingConfiguration config: recordingConfigurations ) { diff --git a/src/source/tuner/NumericallyControlledOscillator.java b/src/source/tuner/NumericallyControlledOscillator.java index 9c909acb..f49da924 100644 --- a/src/source/tuner/NumericallyControlledOscillator.java +++ b/src/source/tuner/NumericallyControlledOscillator.java @@ -17,7 +17,6 @@ ******************************************************************************/ package source.tuner; -import log.Log; import sample.Listener; import sample.complex.ComplexSample; import sample.complex.ComplexSampleUtils; @@ -86,8 +85,6 @@ public class NumericallyControlledOscillator implements Listener, */ public void setFrequency( long frequency ) { - Log.info( "NumericallyControlledOscillator - setting sine wave gen to freq:" + frequency ); - mFrequency = frequency; mSineWaveGenerator.setFrequency( frequency ); } diff --git a/src/source/tuner/TunerController.java b/src/source/tuner/TunerController.java index b02888f4..f4e29025 100644 --- a/src/source/tuner/TunerController.java +++ b/src/source/tuner/TunerController.java @@ -22,13 +22,18 @@ import java.util.Collections; import java.util.Iterator; import java.util.concurrent.RejectedExecutionException; -import log.Log; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import source.SourceException; import source.tuner.FrequencyController.Tunable; import controller.ThreadPoolManager; public abstract class TunerController implements Tunable { + private final static Logger mLog = + LoggerFactory.getLogger( TunerController.class ); + /* List of currently tuned channels being served to demod channels */ protected ArrayList mTunedChannels = new ArrayList(); @@ -176,7 +181,7 @@ public abstract class TunerController implements Tunable } else { - Log.error( "Tuner Controller - couldn't find the tuned channel " + mLog.error( "Tuner Controller - couldn't find the tuned channel " + "to release it" ); } } diff --git a/src/source/tuner/TunerManager.java b/src/source/tuner/TunerManager.java index 7e34fd60..0107b681 100644 --- a/src/source/tuner/TunerManager.java +++ b/src/source/tuner/TunerManager.java @@ -29,7 +29,9 @@ import javax.usb.UsbHostManager; import javax.usb.UsbHub; import javax.usb.UsbServices; -import log.Log; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import source.Source; import source.SourceException; import source.config.SourceConfigTuner; @@ -48,6 +50,9 @@ import controller.channel.ProcessingChain; public class TunerManager { + private final static Logger mLog = + LoggerFactory.getLogger( TunerManager.class ); + private static final String sLOADED = "\t[LOADED]\t"; private static final String sNOT_LOADED = "\t[NOT LOADED]\t"; @@ -90,14 +95,12 @@ public class TunerManager } catch ( RejectedExecutionException ree ) { - Log.error( "TunerManager - couldn't provide tuner channel " - + "source - " + ree.getLocalizedMessage() ); + mLog.error( "couldn't provide tuner channel source", ree ); } catch ( SourceException e ) { - Log.error( "TunerManager - error obtaining channel " + - "from tuner [" + tuner.getName() + "] - " - + e.getLocalizedMessage() ); + mLog.error( "error obtaining channel from tuner [" + + tuner.getName() + "]", e ); } } } @@ -125,11 +128,20 @@ public class TunerManager StringBuilder sb = new StringBuilder(); - sb.append( "Tuner Manager - discovered [" + devices.size() + - "] USB tuner devices\n" ); + sb.append( "discovered and using [" + devices.size() + + "] available tuner devices\n" ); + + mLog.info( "inspecting [" + devices.size() + "] available usb tuner devices" ); + + int counter = 0; for( USBTunerDevice device: devices ) { + counter++; + + mLog.info( "inspecting usb device [" + counter + "] tuner class: " + + device.getTunerClass().toString() ); + String status = sNOT_LOADED; String name = "Unknown"; String reason = "No device driver class available"; @@ -252,7 +264,9 @@ public class TunerManager tunerType = RTL2832TunerController.identifyTunerType( device ); } - Log.debug( "TunerManager - identified tuner class [" + tunerClass.toString() + "] with tuner type [" + tunerType.toString() + "]" ); + mLog.debug( "identified tuner class [" + + tunerClass.toString() + "] with tuner type [" + + tunerType.toString() + "]" ); switch( tunerType ) { @@ -288,13 +302,14 @@ public class TunerManager } break; case RAFAELMICRO_R820T: - Log.debug( "TunerManager - attempting to construct R820T tuner controller" ); + mLog.debug( "attempting to construct R820T " + + "tuner controller" ); try { R820TTunerController controller = new R820TTunerController( device ); - Log.debug( "TunerManager - init() R820T tuner controller" ); + mLog.debug( "initializing R820T tuner controller" ); controller.init(); RTL2832Tuner rtlTuner = @@ -306,12 +321,13 @@ public class TunerManager if( config != null ) { - Log.debug( "TunerManager - applying tuner config to R820T tuner" ); + mLog.debug( "applying tuner config to R820T tuner" ); rtlTuner.apply( config ); } else { - Log.debug( "TunerManager - R820T tuner config was null - not applied" ); + mLog.debug( "R820T tuner config was " + + "null - not applied" ); } mTuners.add( rtlTuner ); @@ -325,7 +341,7 @@ public class TunerManager reason = "Error constructing R820T tuner " + "controller - " + se.getLocalizedMessage(); - Log.error( "TunerManager - error constructing tuner", se ); + mLog.error( "error constructing tuner", se ); } break; case FITIPOWER_FC0012: @@ -372,8 +388,8 @@ public class TunerManager sb.append( "\n" ); } - Log.header( "Configuring USB Tuners" ); - Log.info( sb.toString() ); + mLog.info( "Configuring USB Tuners" ); + mLog.info( sb.toString() ); } /** @@ -385,8 +401,8 @@ public class TunerManager List devices = getUSBDevices(); - sb.append( "TunerManager - discovered [" + devices.size() + - "] attached usb devices\n" ); + sb.append( "discovered [" + devices.size() + + "] attached USB devices\n" ); ArrayList tuners = new ArrayList(); @@ -416,8 +432,8 @@ public class TunerManager sb.append( "\n" ); } - Log.header( "USB Device Discovery" ); - Log.info( sb.toString() ); + mLog.info( "USB Device Discovery" ); + mLog.info( sb.toString() ); return tuners; } @@ -437,13 +453,11 @@ public class TunerManager } catch( SecurityException e ) { - Log.error( "TunerManager - security exception while getting " - + "USB devices" ); + mLog.error( "security exception while getting USB devices", e ); } catch( UsbException e ) { - Log.error( "TunerManager - usb exception while getting USB " - + "devices - " + e.getLocalizedMessage() ); + mLog.error( "usb exception while getting USB devices", e ); } return devices; diff --git a/src/source/tuner/TunerNode.java b/src/source/tuner/TunerNode.java index 5adcae4e..e4f54dea 100644 --- a/src/source/tuner/TunerNode.java +++ b/src/source/tuner/TunerNode.java @@ -25,14 +25,19 @@ import javax.swing.JMenuItem; import javax.swing.JPanel; import javax.swing.JPopupMenu; -import log.Log; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import source.SourceException; import spectrum.SpectrumFrame; import controller.BaseNode; public class TunerNode extends BaseNode implements FrequencyChangeListener { - private static final long serialVersionUID = 1L; + private final static Logger mLog = + LoggerFactory.getLogger( TunerNode.class ); + + private static final long serialVersionUID = 1L; private static DecimalFormat FREQUENCY_FORMAT = new DecimalFormat( "0.00000" ); private static DecimalFormat SAMPLE_RATE_FORMAT = new DecimalFormat( "0.000" ); @@ -52,8 +57,8 @@ public class TunerNode extends BaseNode implements FrequencyChangeListener } catch ( SourceException e ) { - Log.error( "TunerNode - error reading frequency and sample rate " - + "from tuner - " + e.getLocalizedMessage() ); + mLog.error( "TunerNode - error reading frequency and sample rate " + + "from tuner", e ); } } diff --git a/src/source/tuner/ettus/B100Tuner.java b/src/source/tuner/ettus/B100Tuner.java index e8d91283..9ea8476e 100644 --- a/src/source/tuner/ettus/B100Tuner.java +++ b/src/source/tuner/ettus/B100Tuner.java @@ -21,7 +21,9 @@ import java.util.concurrent.RejectedExecutionException; import javax.swing.JPanel; -import log.Log; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import source.SourceException; import source.tuner.Tuner; import source.tuner.TunerChannel; @@ -35,6 +37,8 @@ import controller.ThreadPoolManager; public class B100Tuner extends Tuner { + private final static Logger mLog = LoggerFactory.getLogger( B100Tuner.class ); + private USBTunerDevice mDevice; public B100Tuner( USBTunerDevice device ) @@ -68,7 +72,7 @@ public class B100Tuner extends Tuner @Override public void apply( TunerConfiguration config ) throws SourceException { - Log.error( "B100 Tuner - can't apply tuner configuration" ); + mLog.error( "B100 Tuner - can't apply tuner configuration" ); } @Override diff --git a/src/source/tuner/fcd/FCDTunerController.java b/src/source/tuner/fcd/FCDTunerController.java index 79088a55..cd1f9ca1 100644 --- a/src/source/tuner/fcd/FCDTunerController.java +++ b/src/source/tuner/fcd/FCDTunerController.java @@ -27,7 +27,9 @@ import javax.usb.UsbInterface; import javax.usb.UsbInterfacePolicy; import javax.usb.UsbPipe; -import log.Log; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import source.SourceException; import source.tuner.TunerClass; import source.tuner.TunerConfiguration; @@ -39,6 +41,9 @@ import controller.ResourceManager; public abstract class FCDTunerController extends TunerController { + private final static Logger mLog = + LoggerFactory.getLogger( FCDTunerController.class ); + public final static int sINT_NULL_VALUE = -1; public final static long sLONG_NULL_VALUE = -1l; public final static double sDOUBLE_NULL_VALUE = -1.0D; @@ -208,7 +213,8 @@ public abstract class FCDTunerController extends TunerController } else { - Log.info( "Attempted to claim the Funcube HID interface, but it's in use by another program" ); + mLog.info( "Attempted to claim the Funcube HID interface, but " + + "it's in use by another program" ); } return claimed; @@ -228,7 +234,8 @@ public abstract class FCDTunerController extends TunerController } catch ( Exception e ) { - Log.error( "Exception thrown while releasing the funcube HID interface" + e.getLocalizedMessage() ); + mLog.error( "Exception thrown while releasing the funcube HID " + + "interface", e ); } } @@ -345,13 +352,13 @@ public abstract class FCDTunerController extends TunerController } else { - Log.error( "FCD Pro Tuner Controller - couldn't gain access " + + mLog.error( "FCD Pro Tuner Controller - couldn't gain access " + "to the USB in/out endpoints or pipes." ); } } else { - Log.error( "FCD Pro Tuner Controller - couldn't claim the USB " + + mLog.error( "FCD Pro Tuner Controller - couldn't claim the USB " + "interface. Check to see if another program is using it." ); } } diff --git a/src/source/tuner/fcd/proV1/FCD1TunerConfigurationPanel.java b/src/source/tuner/fcd/proV1/FCD1TunerConfigurationPanel.java index 167f3f66..417012c8 100644 --- a/src/source/tuner/fcd/proV1/FCD1TunerConfigurationPanel.java +++ b/src/source/tuner/fcd/proV1/FCD1TunerConfigurationPanel.java @@ -25,7 +25,6 @@ import java.awt.event.FocusListener; import java.text.DecimalFormat; import java.util.ArrayList; -import javax.swing.BorderFactory; import javax.swing.ComboBoxModel; import javax.swing.DefaultComboBoxModel; import javax.swing.JButton; @@ -43,21 +42,28 @@ import javax.swing.event.ChangeListener; import javax.usb.UsbClaimException; import javax.usb.UsbException; -import com.jidesoft.swing.JideTabbedPane; - -import log.Log; import net.miginfocom.swing.MigLayout; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import source.SourceException; import source.tuner.TunerConfiguration; import source.tuner.TunerType; import source.tuner.fcd.proV1.FCD1TunerController.LNAEnhance; import source.tuner.fcd.proV1.FCD1TunerController.LNAGain; import source.tuner.fcd.proV1.FCD1TunerController.MixerGain; + +import com.jidesoft.swing.JideTabbedPane; + import controller.ResourceManager; public class FCD1TunerConfigurationPanel extends JPanel { - private static final long serialVersionUID = 1L; + private final static Logger mLog = + LoggerFactory.getLogger( FCD1TunerConfigurationPanel.class ); + + private static final long serialVersionUID = 1L; private ResourceManager mResourceManager; private FCD1TunerController mController; @@ -180,10 +186,9 @@ public class FCD1TunerConfigurationPanel extends JPanel "FCD Pro Tuner Controller - cannot claim FCD " + "Controller to apply LNA gain [" + gain.toString() + "]" ); - Log.error( "FuncubeDonglePro Controller - usb claim " + mLog.error( "FuncubeDonglePro Controller - usb claim " + "exception while applying LNA gain value [" + - gain.toString() + "] - " + - e1.getLocalizedMessage() ); + gain.toString() + "]", e1 ); } catch ( UsbException e1 ) { @@ -192,10 +197,9 @@ public class FCD1TunerConfigurationPanel extends JPanel "FCD Pro Tuner Controller - FCD Controller " + "cannot apply LNA gain [" + gain.toString() + "]" ); - Log.error( "FuncubeDonglePro Controller - " + mLog.error( "FuncubeDonglePro Controller - " + "exception while applying LNA gain value [" + - gain.toString() + "] - " + - e1.getLocalizedMessage() ); + gain.toString() + "]", e1 ); } save(); @@ -235,10 +239,9 @@ public class FCD1TunerConfigurationPanel extends JPanel "FCD Pro Tuner Controller - cannot claim FCD " + "Controller to apply LNA enhance [" + enhance.toString() + "]" ); - Log.error( "FuncubeDonglePro Controller - usb claim " + mLog.error( "FuncubeDonglePro Controller - usb claim " + "exception while applying LNA enhance value [" + - enhance.toString() + "] - " + - e1.getLocalizedMessage() ); + enhance.toString() + "]", e1 ); } catch ( UsbException e1 ) { @@ -247,10 +250,9 @@ public class FCD1TunerConfigurationPanel extends JPanel "FCD Pro Tuner Controller - FCD Controller " + "cannot apply LNA enhance [" + enhance.toString() + "]" ); - Log.error( "FuncubeDonglePro Controller - " + mLog.error( "FuncubeDonglePro Controller - " + "exception while applying LNA enhance value [" + - enhance.toString() + "] - " + - e1.getLocalizedMessage() ); + enhance.toString() + "]", e1 ); } save(); @@ -289,10 +291,9 @@ public class FCD1TunerConfigurationPanel extends JPanel "FCD Pro Tuner Controller - cannot claim FCD " + "Controller to apply Mixer gain [" + gain.toString() + "]" ); - Log.error( "FuncubeDonglePro Controller - usb claim " + mLog.error( "FuncubeDonglePro Controller - usb claim " + "exception while applying Mixer gain value [" + - gain.toString() + "] - " + - e1.getLocalizedMessage() ); + gain.toString() + "]", e1 ); } catch ( UsbException e1 ) { @@ -301,10 +302,9 @@ public class FCD1TunerConfigurationPanel extends JPanel "FCD Pro Tuner Controller - FCD Controller " + "cannot apply Mixer gain [" + gain.toString() + "]" ); - Log.error( "FuncubeDonglePro Controller - " + mLog.error( "FuncubeDonglePro Controller - " + "exception while applying Mixer gain value [" + - gain.toString() + "] - " + - e1.getLocalizedMessage() ); + gain.toString() + "]", e1 ); } save(); @@ -363,9 +363,8 @@ public class FCD1TunerConfigurationPanel extends JPanel + "apply frequency correction value: " + value + e1.getLocalizedMessage() ); - Log.error( "FuncubeDonglePro Controller - couldn't apply " - + "frequency correction value: " + value + - e1.getLocalizedMessage() ); + mLog.error( "FuncubeDonglePro Controller - couldn't apply " + + "frequency correction value: " + value, e1 ); } } } ); @@ -522,9 +521,8 @@ public class FCD1TunerConfigurationPanel extends JPanel + "apply the tuner configuration settings - " + e1.getLocalizedMessage() ); - Log.error( "FuncubeDonglePro Controller - couldn't apply " - + "config [" + config.getName() + "] - " + - e1.getLocalizedMessage() ); + mLog.error( "FuncubeDonglePro Controller - couldn't apply " + + "config [" + config.getName() + "]", e1 ); } } @@ -639,11 +637,10 @@ public class FCD1TunerConfigurationPanel extends JPanel + mCorrectionComponent.toString() + " correction value [" + value + "]" ); - Log.error( "FuncubeDonglePro Controller - usb claim " + mLog.error( "FuncubeDonglePro Controller - usb claim " + "exception while applying " + mCorrectionComponent.toString() - + " correction value [" + value + "] - " + - e1.getLocalizedMessage() ); + + " correction value [" + value + "]", e1 ); } catch ( UsbException e1 ) { @@ -654,11 +651,10 @@ public class FCD1TunerConfigurationPanel extends JPanel + mCorrectionComponent.toString() + " correction value [" + value + "]" ); - Log.error( "FuncubeDonglePro Controller - usb " + mLog.error( "FuncubeDonglePro Controller - usb " + "exception while applying " + mCorrectionComponent.toString() - + " correction value [" + value + "] - " + - e1.getLocalizedMessage() ); + + " correction value [" + value + "]", e1 ); } } } ); diff --git a/src/source/tuner/fcd/proV1/FCD1TunerController.java b/src/source/tuner/fcd/proV1/FCD1TunerController.java index 40f99766..0f0f977a 100644 --- a/src/source/tuner/fcd/proV1/FCD1TunerController.java +++ b/src/source/tuner/fcd/proV1/FCD1TunerController.java @@ -21,7 +21,9 @@ import javax.swing.JPanel; import javax.usb.UsbClaimException; import javax.usb.UsbException; -import log.Log; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import source.SourceException; import source.tuner.TunerClass; import source.tuner.TunerConfiguration; @@ -34,6 +36,9 @@ import controller.ResourceManager; public class FCD1TunerController extends FCDTunerController { + private final static Logger mLog = + LoggerFactory.getLogger( FCD1TunerController.class ); + public static final int sMINIMUM_TUNABLE_FREQUENCY = 64000000; public static final int sMAXIMUM_TUNABLE_FREQUENCY = 1700000000; public static final int sSAMPLE_RATE = 96000; @@ -153,7 +158,7 @@ public class FCD1TunerController extends FCDTunerController { int gain = (int)send( FCDCommand.APP_GET_LNA_GAIN ); - Log.info( "FCD1: lna gain setting is:" + gain ); + mLog.info( "FCD1: lna gain setting is:" + gain ); mLNAGain = LNAGain.valueOf( gain ); } @@ -301,7 +306,7 @@ public class FCD1TunerController extends FCDTunerController mPhaseCorrection = ( (double)phase / (double)Short.MAX_VALUE ); - Log.info( "FCD1: correction:" + correction + " gain:" + gain + " phase:" + phase ); + mLog.info( "FCD1: correction:" + correction + " gain:" + gain + " phase:" + phase ); } /** @@ -440,7 +445,7 @@ public class FCD1TunerController extends FCDTunerController { int enhance = (int)send( FCDCommand.APP_GET_LNA_ENHANCE ); - Log.info( "FCD1: lna enhance setting is: " + enhance ); + mLog.info( "FCD1: lna enhance setting is: " + enhance ); mLNAEnhance = LNAEnhance.valueOf( enhance ); } @@ -460,7 +465,7 @@ public class FCD1TunerController extends FCDTunerController { int gain = (int)send( FCDCommand.APP_GET_MIXER_GAIN ); - Log.info( "FCD1: mixer gain setting is:" + gain ); + mLog.info( "FCD1: mixer gain setting is:" + gain ); mMixerGain = MixerGain.valueOf( gain ); } diff --git a/src/source/tuner/fcd/proV1/FCD1TunerEditorPanel.java b/src/source/tuner/fcd/proV1/FCD1TunerEditorPanel.java index 7757b47c..e5dc6422 100644 --- a/src/source/tuner/fcd/proV1/FCD1TunerEditorPanel.java +++ b/src/source/tuner/fcd/proV1/FCD1TunerEditorPanel.java @@ -17,27 +17,32 @@ ******************************************************************************/ package source.tuner.fcd.proV1; -import java.awt.Color; - import gui.control.JFrequencyControl; -import javax.swing.BorderFactory; +import java.awt.Color; + import javax.swing.JLabel; import javax.swing.JPanel; -import com.jidesoft.swing.JideTabbedPane; - -import log.Log; import net.miginfocom.swing.MigLayout; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import source.SourceException; import source.tuner.FrequencyChangeListener; import source.tuner.fcd.FCDTuner; import source.tuner.fcd.FCDTunerDetailsPanel; + +import com.jidesoft.swing.JideTabbedPane; + import controller.ResourceManager; public class FCD1TunerEditorPanel extends JPanel implements FrequencyChangeListener { private static final long serialVersionUID = 1L; + private final static Logger mLog = + LoggerFactory.getLogger( FCD1TunerEditorPanel.class ); private FCDTuner mTuner; private FCD1TunerController mController; @@ -95,8 +100,8 @@ public class FCD1TunerEditorPanel extends JPanel implements FrequencyChangeListe } catch ( SourceException e ) { - Log.error( "FCTProController - error setting frequency [" + - frequency + "] - " + e.getLocalizedMessage() ); + mLog.error( "FCTProController - error setting frequency [" + + frequency + "]", e ); } } } diff --git a/src/source/tuner/fcd/proplusV2/FCD2TunerConfigurationPanel.java b/src/source/tuner/fcd/proplusV2/FCD2TunerConfigurationPanel.java index f6e3e9eb..049d8a56 100644 --- a/src/source/tuner/fcd/proplusV2/FCD2TunerConfigurationPanel.java +++ b/src/source/tuner/fcd/proplusV2/FCD2TunerConfigurationPanel.java @@ -25,7 +25,6 @@ import java.awt.event.FocusListener; import java.text.DecimalFormat; import java.util.ArrayList; -import javax.swing.BorderFactory; import javax.swing.ComboBoxModel; import javax.swing.DefaultComboBoxModel; import javax.swing.JButton; @@ -42,8 +41,11 @@ import javax.swing.SwingConstants; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; -import log.Log; import net.miginfocom.swing.MigLayout; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import source.SourceException; import source.tuner.TunerConfiguration; import source.tuner.TunerConfigurationAssignment; @@ -52,7 +54,10 @@ import controller.ResourceManager; public class FCD2TunerConfigurationPanel extends JPanel { - private static final long serialVersionUID = 1L; + private final static Logger mLog = + LoggerFactory.getLogger( FCD2TunerConfigurationPanel.class ); + + private static final long serialVersionUID = 1L; private ResourceManager mResourceManager; private FCD2TunerController mController; private FCD2TunerConfiguration mSelectedConfig; @@ -158,9 +163,8 @@ public class FCD2TunerConfigurationPanel extends JPanel + "apply frequency correction value: " + value + e1.getLocalizedMessage() ); - Log.error( "FuncubeDongleProPlus Controller - couldn't apply " - + "frequency correction value: " + value + - e1.getLocalizedMessage() ); + mLog.error( "FuncubeDongleProPlus Controller - couldn't apply " + + "frequency correction value: " + value, e1 ); } } } ); @@ -330,9 +334,8 @@ public class FCD2TunerConfigurationPanel extends JPanel + "apply the tuner configuration settings - " + e1.getLocalizedMessage() ); - Log.error( "FuncubeDongleProPlus Controller - couldn't apply " - + "config [" + config.getName() + "] - " + - e1.getLocalizedMessage() ); + mLog.error( "FuncubeDongleProPlus Controller - couldn't apply " + + "config [" + config.getName() + "]", e1 ); } } diff --git a/src/source/tuner/fcd/proplusV2/FCD2TunerController.java b/src/source/tuner/fcd/proplusV2/FCD2TunerController.java index 0e3cdcca..2fe5a07b 100644 --- a/src/source/tuner/fcd/proplusV2/FCD2TunerController.java +++ b/src/source/tuner/fcd/proplusV2/FCD2TunerController.java @@ -21,7 +21,9 @@ import javax.swing.JPanel; import javax.usb.UsbClaimException; import javax.usb.UsbException; -import log.Log; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import source.SourceException; import source.tuner.TunerClass; import source.tuner.TunerConfiguration; @@ -34,6 +36,9 @@ import controller.ResourceManager; public class FCD2TunerController extends FCDTunerController { + private final static Logger mLog = + LoggerFactory.getLogger( FCD2TunerController.class ); + public static final int sMINIMUM_TUNABLE_FREQUENCY = 150000; public static final int sMAXIMUM_TUNABLE_FREQUENCY = 2050000000; public static final int sSAMPLE_RATE = 192000; @@ -162,14 +167,13 @@ public class FCD2TunerController extends FCDTunerController } catch ( UsbClaimException e ) { - Log.error( "FCTTunerController - couldn't claim funcube HID to" - + " get dc correction value" ); + mLog.error( "FCTTunerController - couldn't claim funcube HID to" + + " get dc correction value", e ); } catch ( UsbException e ) { - Log.error( "FCTTunerController - error getting dc correction " - + "value - " + e.getLocalizedMessage() ); - + mLog.error( "FCTTunerController - error getting dc correction " + + "value", e ); } return dcCorrection; @@ -183,14 +187,13 @@ public class FCD2TunerController extends FCDTunerController } catch ( UsbClaimException e ) { - Log.error( "FCDTunerController - error claiming usb hid while " - + "trying to set dc correction to [" + value + "]" ); + mLog.error( "FCDTunerController - error claiming usb hid while " + + "trying to set dc correction to [" + value + "]", e ); } catch ( UsbException e ) { - Log.error( "FCDTunerController - error while " - + "trying to set dc correction to [" + value + "] - " + - e.getLocalizedMessage() ); + mLog.error( "FCDTunerController - error while " + + "trying to set dc correction to [" + value + "]", e ); } } @@ -204,13 +207,13 @@ public class FCD2TunerController extends FCDTunerController } catch ( UsbClaimException e ) { - Log.error( "FCTTunerController - couldn't claim funcube HID to" - + " get iq correction value" ); + mLog.error( "FCTTunerController - couldn't claim funcube HID to" + + " get iq correction value", e ); } catch ( UsbException e ) { - Log.error( "FCTTunerController - error getting iq correction " - + "value - " + e.getLocalizedMessage() ); + mLog.error( "FCTTunerController - error getting iq correction " + + "value", e ); } @@ -225,14 +228,13 @@ public class FCD2TunerController extends FCDTunerController } catch ( UsbClaimException e ) { - Log.error( "FCDTunerController - error claiming usb hid while " - + "trying to set iq correction to [" + value + "]" ); + mLog.error( "FCDTunerController - error claiming usb hid while " + + "trying to set iq correction to [" + value + "]", e ); } catch ( UsbException e ) { - Log.error( "FCDTunerController - error while " - + "trying to set iq correction to [" + value + "] - " + - e.getLocalizedMessage() ); + mLog.error( "FCDTunerController - error while " + + "trying to set iq correction to [" + value + "]", e ); } } diff --git a/src/source/tuner/fcd/proplusV2/FCD2TunerEditorPanel.java b/src/source/tuner/fcd/proplusV2/FCD2TunerEditorPanel.java index 0778781d..11ea9562 100644 --- a/src/source/tuner/fcd/proplusV2/FCD2TunerEditorPanel.java +++ b/src/source/tuner/fcd/proplusV2/FCD2TunerEditorPanel.java @@ -17,26 +17,31 @@ ******************************************************************************/ package source.tuner.fcd.proplusV2; -import java.awt.Color; - import gui.control.JFrequencyControl; -import javax.swing.BorderFactory; +import java.awt.Color; + import javax.swing.JLabel; import javax.swing.JPanel; -import com.jidesoft.swing.JideTabbedPane; - -import log.Log; import net.miginfocom.swing.MigLayout; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import source.SourceException; import source.tuner.FrequencyChangeListener; import source.tuner.fcd.FCDTuner; import source.tuner.fcd.FCDTunerDetailsPanel; + +import com.jidesoft.swing.JideTabbedPane; + import controller.ResourceManager; public class FCD2TunerEditorPanel extends JPanel implements FrequencyChangeListener { + private final static Logger mLog = + LoggerFactory.getLogger( FCD2TunerEditorPanel.class ); private static final long serialVersionUID = 1L; private FCDTuner mTuner; @@ -94,8 +99,8 @@ public class FCD2TunerEditorPanel extends JPanel implements FrequencyChangeListe } catch ( SourceException e ) { - Log.error( "FCTProController - error setting frequency [" + - frequency + "] - " + e.getLocalizedMessage() ); + mLog.error( "FCTProController - error setting frequency [" + + frequency + "]", e ); } } } diff --git a/src/source/tuner/rtl/RTL2832Tuner.java b/src/source/tuner/rtl/RTL2832Tuner.java index ac80035d..a72a0312 100644 --- a/src/source/tuner/rtl/RTL2832Tuner.java +++ b/src/source/tuner/rtl/RTL2832Tuner.java @@ -22,7 +22,9 @@ import java.util.concurrent.RejectedExecutionException; import javax.swing.JPanel; import javax.usb.UsbException; -import log.Log; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import sample.Listener; import source.SourceException; import source.tuner.FrequencyChangeListener; @@ -38,6 +40,9 @@ import controller.ThreadPoolManager; public class RTL2832Tuner extends Tuner { + private final static Logger mLog = + LoggerFactory.getLogger( RTL2832Tuner.class ); + private TunerClass mTunerClass; protected RTL2832TunerController mController; @@ -98,8 +103,7 @@ public class RTL2832Tuner extends Tuner } catch( SourceException e ) { - Log.error( "RTL2832 Tuner - couldn't get sample rate - " + - e.getLocalizedMessage() ); + mLog.error( "RTL2832 Tuner - couldn't get sample rate", e ); } return 0; diff --git a/src/source/tuner/rtl/RTL2832TunerController.java b/src/source/tuner/rtl/RTL2832TunerController.java index c463ba79..4086f35b 100644 --- a/src/source/tuner/rtl/RTL2832TunerController.java +++ b/src/source/tuner/rtl/RTL2832TunerController.java @@ -54,8 +54,8 @@ import javax.usb.event.UsbPipeErrorEvent; import javax.usb.event.UsbPipeListener; import javax.usb.util.DefaultUsbControlIrp; -import log.Log; - +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.usb4java.LibUsb; import sample.Listener; @@ -68,6 +68,9 @@ import controller.ResourceManager; public abstract class RTL2832TunerController extends TunerController { + private final static Logger mLog = + LoggerFactory.getLogger( RTL2832TunerController.class ); + public final static int sINT_NULL_VALUE = -1; public final static long sLONG_NULL_VALUE = -1l; public final static double sDOUBLE_NULL_VALUE = -1.0D; @@ -215,7 +218,7 @@ public abstract class RTL2832TunerController extends TunerController + "set default sample rate", e ); } - byte[] eeprom; + byte[] eeprom = null; try { @@ -224,8 +227,7 @@ public abstract class RTL2832TunerController extends TunerController } catch( Exception e ) { - throw new SourceException( "RTL2832 Tuner Controller - couldn't " - + "read EEPROM descriptor byte array", e ); + mLog.error( "error while reading the EEPROM device descriptor", e ); } try @@ -234,14 +236,15 @@ public abstract class RTL2832TunerController extends TunerController if( eeprom == null ) { - Log.error( "RTL2832 Tuner Controller - eeprom byte array was " - + "null - constructed empty descriptor object" ); + mLog.error( "eeprom byte array was null - constructed " + + "empty descriptor object" ); } } catch( Exception e ) { - throw new SourceException( "RTL2832 Tuner Controller - error " - + "constructing descriptor object from eeprom byte array", e ); + mLog.error( "error while constructing device descriptor using " + + "descriptor byte array " + + ( eeprom == null ? "[null]" : Arrays.toString( eeprom )), e ); } } @@ -391,23 +394,23 @@ public abstract class RTL2832TunerController extends TunerController if( claim( iface ) ) { - Log.debug( "RTL2832 - usb interface claimed" ); + mLog.debug( "usb interface claimed" ); /* Perform a dummy write to see if the device needs reset */ writeRegister( device, Block.USB, Address.USB_SYSCTL.getAddress(), 0x09, 1 ); - Log.debug( "RTL2832 - initializing baseband" ); + mLog.debug( "initializing baseband" ); /* Initialize the baseband */ initBaseband( device ); - Log.debug( "RTL2832 - enabling I2C repeater" ); + mLog.debug( "enabling I2C repeater" ); enableI2CRepeater( device, true ); boolean controlI2CRepeater = false; - Log.debug( "RTL2832 - testing for tuner types" ); + mLog.debug( "testing for tuner types" ); /* Test for each tuner type until we find the correct one */ if( isE4000Tuner( device, controlI2CRepeater ) ) @@ -435,19 +438,18 @@ public abstract class RTL2832TunerController extends TunerController tunerClass = TunerType.FITIPOWER_FC0012; } - Log.debug( "RTL2832 - disabling I2C repeater -- detected tuner type:" + tunerClass.toString() ); + mLog.debug( "disabling I2C repeater -- detected tuner type:" + tunerClass.toString() ); enableI2CRepeater( device, false ); - Log.debug( "RTL2832 - releasing USB interface" ); + mLog.debug( "releasing USB interface" ); iface.release(); } } catch( Exception e ) { - Log.error( "RTL2832TunerController - error while determining " - + "tuner type - ", e ); + mLog.error( "error while determining tuner type", e ); } return tunerClass; @@ -518,8 +520,8 @@ public abstract class RTL2832TunerController extends TunerController } else { - Log.error( "RTL2832 Tuner Controller - attempt to claim USB " - + "interface failed - in use by another application" ); + mLog.error( "attempt to claim USB interface failed - in use by " + + "another application" ); } return false; @@ -556,8 +558,7 @@ public abstract class RTL2832TunerController extends TunerController } catch ( Exception e ) { - Log.error( "RTL2832 Tuner Controller - attempt to release USB " - + "interface failed - " + e.getLocalizedMessage() ); + mLog.error( "attempt to release USB interface failed", e ); } } @@ -962,7 +963,7 @@ public abstract class RTL2832TunerController extends TunerController protected static boolean isE4000Tuner( UsbDevice device, boolean controlI2CRepeater ) throws UsbClaimException { - Log.debug( "RTL2832 - testing for E4000 tuner" ); + mLog.debug( "testing for E4000 tuner" ); try { @@ -1011,7 +1012,8 @@ public abstract class RTL2832TunerController extends TunerController boolean controlI2CRepeater ) throws UsbClaimException { - Log.debug( "RTL2832 - testing for F0013 tuner" ); + mLog.debug( "testing for F0013 tuner" ); + try { int value = readI2CRegister( device, FC0013_I2C_ADDRESS, @@ -1068,7 +1070,8 @@ public abstract class RTL2832TunerController extends TunerController protected static boolean isR820TTuner( UsbDevice device, boolean controlI2CRepeater ) throws UsbClaimException { - Log.debug( "RTL2832 - testing for R820T tuner" ); + mLog.debug( "testing for R820T tuner" ); + try { int value = readI2CRegister( device, R820T_I2C_ADDRESS, @@ -1210,24 +1213,44 @@ public abstract class RTL2832TunerController extends TunerController * Label 4,5 ... (user defined) */ public byte[] readEEPROM( UsbDevice device, short offset, int length ) - throws IllegalArgumentException, UsbDisconnectedException, UsbException + throws IllegalArgumentException { if( offset + length > 256 ) { - throw new IllegalArgumentException( "RTL2832 Tuner Controller - " - + "cannot read more than 256 bytes from EEPROM" ); + throw new IllegalArgumentException( "cannot read more than 256 " + + "bytes from EEPROM - requested to read to byte [" + + ( offset + length ) + "]" ); } byte[] data = new byte[ length ]; byte[] onebyte = new byte[ 1 ]; - /* Tell the RTL-2832 to address the EEPROM */ - writeRegister( device, Block.IIC, EEPROM_ADDRESS, (byte)offset, 1 ); + try + { + /* Tell the RTL-2832 to address the EEPROM */ + writeRegister( device, Block.IIC, EEPROM_ADDRESS, (byte)offset, 1 ); + } + catch( UsbException e ) + { + mLog.error( "usb error while attempting to set read address to " + + "EEPROM register, prior to reading the EEPROM device " + + "descriptor", e ); + } for( int x = 0; x < length; x++ ) { - byte[] temp = read( device, Block.IIC, EEPROM_ADDRESS, onebyte ); - data[ x ] = temp[ 0 ]; + try + { + byte[] temp = read( device, Block.IIC, EEPROM_ADDRESS, onebyte ); + data[ x ] = temp[ 0 ]; + } + catch( Exception e ) + { + mLog.error( "error while reading eeprom byte [" + x + "/" + + length + "] aborting eeprom read and returning partially " + + "filled descriptor byte array", e ); + x = length; + } } return data; @@ -1514,7 +1537,8 @@ public abstract class RTL2832TunerController extends TunerController { if( mRunning.compareAndSet( false, true ) ) { - Log.debug( "RTL2832TunerController [" + getUniqueID() + "] - starting sample fetch thread" ); + mLog.debug( "rtl2832 [" + getUniqueID() + + "] - starting sample fetch thread" ); ArrayList irps = new ArrayList(); @@ -1570,7 +1594,8 @@ public abstract class RTL2832TunerController extends TunerController { if( mRunning.compareAndSet( true, false ) ) { - Log.debug( "RTL2832TunerController - stopping sample fetch thread" ); + mLog.debug( "rtl2832 [" + getUniqueID() + + "] - stopping sample fetch thread" ); mUSBPipe.abortAllSubmissions(); @@ -1626,8 +1651,7 @@ public abstract class RTL2832TunerController extends TunerController | IllegalArgumentException | UsbDisconnectedException | UsbException e ) { - Log.error( "RTL2832TunerController - error while " - + "processing samples - " + e.getLocalizedMessage() ); + mLog.error( "error while processing samples", e ); } } } @@ -1640,9 +1664,8 @@ public abstract class RTL2832TunerController extends TunerController * the reset process and ignore all subsequent errors */ if( mResetting.compareAndSet( false, true ) ) { - Log.error( "RTL2832TunerController - error during data transfer - " - + "resetting USB pipe to RTL-2832 - " + - e.getUsbException().getLocalizedMessage() ); + mLog.error( "error during data transfer resetting USB pipe to " + + "RTL-2832", e ); stop(); @@ -1714,7 +1737,7 @@ public abstract class RTL2832TunerController extends TunerController sb.append( " count:" ); sb.append( mSampleRateAverageCount ); - Log.info( sb.toString() ); + mLog.info( sb.toString() ); } } diff --git a/src/source/tuner/rtl/e4k/E4KTunerConfigurationPanel.java b/src/source/tuner/rtl/e4k/E4KTunerConfigurationPanel.java index bc593329..d9d675d3 100644 --- a/src/source/tuner/rtl/e4k/E4KTunerConfigurationPanel.java +++ b/src/source/tuner/rtl/e4k/E4KTunerConfigurationPanel.java @@ -42,10 +42,11 @@ import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; import javax.usb.UsbException; -import com.jidesoft.swing.JideTabbedPane; - -import log.Log; import net.miginfocom.swing.MigLayout; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import source.SourceException; import source.tuner.TunerConfiguration; import source.tuner.TunerConfigurationAssignment; @@ -60,7 +61,10 @@ import controller.ResourceManager; public class E4KTunerConfigurationPanel extends JPanel { private static final long serialVersionUID = 1L; - private ResourceManager mResourceManager; + private final static Logger mLog = + LoggerFactory.getLogger( E4KTunerConfigurationPanel.class ); + + private ResourceManager mResourceManager; private E4KTunerController mController; private E4KTunerConfiguration mSelectedConfig; @@ -223,9 +227,8 @@ public class E4KTunerConfigurationPanel extends JPanel + "frequency correction value: " + value + e1.getLocalizedMessage() ); - Log.error( "E4K Tuner Controller - couldn't apply " - + "frequency correction value: " + value + - e1.getLocalizedMessage() ); + mLog.error( "E4K Tuner Controller - couldn't apply " + + "frequency correction value: " + value, e1 ); } } } ); @@ -263,9 +266,9 @@ public class E4KTunerConfigurationPanel extends JPanel + "rate setting [" + sampleRate.getLabel() + "] " + eSampleRate.getLocalizedMessage() ); - Log.error( "E4K Tuner Controller - couldn't apply sample " - + "rate setting [" + sampleRate.getLabel() + "] " + - eSampleRate.getLocalizedMessage() ); + mLog.error( "E4K Tuner Controller - couldn't apply sample " + + "rate setting [" + sampleRate.getLabel() + "]", + eSampleRate ); } } } ); @@ -389,8 +392,8 @@ public class E4KTunerConfigurationPanel extends JPanel "E4K Tuner Controller - couldn't apply the gain " + "setting - " + e.getLocalizedMessage() ); - Log.error( "E4K Tuner Controller - couldn't apply " - + "gain setting - " + e.getLocalizedMessage() ); + mLog.error( "E4K Tuner Controller - couldn't apply " + + "gain setting", e ); } } } ); @@ -435,8 +438,8 @@ public class E4KTunerConfigurationPanel extends JPanel "E4K Tuner Controller - couldn't apply the mixer " + "gain setting - " + e.getLocalizedMessage() ); - Log.error( "E4K Tuner Controller - couldn't apply mixer " - + "gain setting - " + e.getLocalizedMessage() ); + mLog.error( "E4K Tuner Controller - couldn't apply mixer " + + "gain setting", e ); } } } ); @@ -475,8 +478,8 @@ public class E4KTunerConfigurationPanel extends JPanel "E4K Tuner Controller - couldn't apply the LNA " + "gain setting - " + e.getLocalizedMessage() ); - Log.error( "E4K Tuner Controller - couldn't apply LNA " - + "gain setting - " + e.getLocalizedMessage() ); + mLog.error( "E4K Tuner Controller - couldn't apply LNA " + + "gain setting - ", e ); } } } ); @@ -514,8 +517,8 @@ public class E4KTunerConfigurationPanel extends JPanel "E4K Tuner Controller - couldn't apply the enhance " + "gain setting - " + e.getLocalizedMessage() ); - Log.error( "E4K Tuner Controller - couldn't apply enhance " - + "gain setting - " + e.getLocalizedMessage() ); + mLog.error( "E4K Tuner Controller - couldn't apply enhance " + + "gain setting", e ); } } } ); @@ -630,9 +633,8 @@ public class E4KTunerConfigurationPanel extends JPanel + "apply the tuner configuration settings - " + e1.getLocalizedMessage() ); - Log.error( "E4K Tuner Controller - couldn't apply " - + "config [" + config.getName() + "] - " + - e1.getLocalizedMessage() ); + mLog.error( "E4K Tuner Controller - couldn't apply " + + "config [" + config.getName() + "]", e1 ); } } diff --git a/src/source/tuner/rtl/e4k/E4KTunerEditorPanel.java b/src/source/tuner/rtl/e4k/E4KTunerEditorPanel.java index 0b0aada1..aaae46be 100644 --- a/src/source/tuner/rtl/e4k/E4KTunerEditorPanel.java +++ b/src/source/tuner/rtl/e4k/E4KTunerEditorPanel.java @@ -25,8 +25,11 @@ import java.awt.EventQueue; import javax.swing.JLabel; import javax.swing.JPanel; -import log.Log; import net.miginfocom.swing.MigLayout; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import source.SourceException; import source.tuner.FrequencyChangeListener; import source.tuner.rtl.RTL2832InfoPanel; @@ -37,6 +40,9 @@ import controller.ResourceManager; public class E4KTunerEditorPanel extends JPanel implements FrequencyChangeListener { + private final static Logger mLog = + LoggerFactory.getLogger( E4KTunerEditorPanel.class ); + private static final long serialVersionUID = 1L; private E4KTunerController mController; @@ -101,8 +107,8 @@ public class E4KTunerEditorPanel extends JPanel implements FrequencyChangeListen } catch ( SourceException e ) { - Log.error( "E4KTunerController - error setting frequency [" + - frequency + "] - " + e.getLocalizedMessage() ); + mLog.error( "E4KTunerController - error setting frequency [" + + frequency + "]", e ); } } } ); diff --git a/src/source/tuner/rtl/r820t/R820TTunerConfigurationPanel.java b/src/source/tuner/rtl/r820t/R820TTunerConfigurationPanel.java index fc172932..42567094 100644 --- a/src/source/tuner/rtl/r820t/R820TTunerConfigurationPanel.java +++ b/src/source/tuner/rtl/r820t/R820TTunerConfigurationPanel.java @@ -42,8 +42,11 @@ import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; import javax.usb.UsbException; -import log.Log; import net.miginfocom.swing.MigLayout; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import source.SourceException; import source.tuner.TunerConfiguration; import source.tuner.TunerConfigurationAssignment; @@ -57,7 +60,10 @@ import controller.ResourceManager; public class R820TTunerConfigurationPanel extends JPanel { - private static final long serialVersionUID = 1L; + private final static Logger mLog = + LoggerFactory.getLogger( R820TTunerConfigurationPanel.class ); + + private static final long serialVersionUID = 1L; private static final R820TGain DEFAULT_GAIN = R820TGain.GAIN_279; private ResourceManager mResourceManager; @@ -214,9 +220,8 @@ public class R820TTunerConfigurationPanel extends JPanel + "frequency correction value: " + value + e1.getLocalizedMessage() ); - Log.error( "R820T Tuner Controller - couldn't apply " - + "frequency correction value: " + value + - e1.getLocalizedMessage() ); + mLog.error( "R820T Tuner Controller - couldn't apply " + + "frequency correction value: " + value, e1 ); } } } ); @@ -254,9 +259,9 @@ public class R820TTunerConfigurationPanel extends JPanel + "rate setting [" + sampleRate.getLabel() + "] " + eSampleRate.getLocalizedMessage() ); - Log.error( "R820T Tuner Controller - couldn't apply sample " - + "rate setting [" + sampleRate.getLabel() + "] " + - eSampleRate.getLocalizedMessage() ); + mLog.error( "R820T Tuner Controller - couldn't apply sample " + + "rate setting [" + sampleRate.getLabel() + "]", + eSampleRate ); } } } ); @@ -318,8 +323,8 @@ public class R820TTunerConfigurationPanel extends JPanel "R820T Tuner Controller - couldn't apply the gain " + "setting - " + e.getLocalizedMessage() ); - Log.error( "R820T Tuner Controller - couldn't apply " - + "gain setting - " + e.getLocalizedMessage() ); + mLog.error( "R820T Tuner Controller - couldn't apply " + + "gain setting - ", e ); } } } ); @@ -369,8 +374,8 @@ public class R820TTunerConfigurationPanel extends JPanel "R820T Tuner Controller - couldn't apply the mixer " + "gain setting - " + e.getLocalizedMessage() ); - Log.error( "R820T Tuner Controller - couldn't apply mixer " - + "gain setting - " + e.getLocalizedMessage() ); + mLog.error( "R820T Tuner Controller - couldn't apply mixer " + + "gain setting - ", e ); } } } ); @@ -415,8 +420,8 @@ public class R820TTunerConfigurationPanel extends JPanel "R820T Tuner Controller - couldn't apply the LNA " + "gain setting - " + e.getLocalizedMessage() ); - Log.error( "R820T Tuner Controller - couldn't apply LNA " - + "gain setting - " + e.getLocalizedMessage() ); + mLog.error( "R820T Tuner Controller - couldn't apply LNA " + + "gain setting - ", e ); } } } ); @@ -459,8 +464,8 @@ public class R820TTunerConfigurationPanel extends JPanel "R820T Tuner Controller - couldn't apply the VGA " + "gain setting - " + e.getLocalizedMessage() ); - Log.error( "R820T Tuner Controller - couldn't apply VGA " - + "gain setting - " + e.getLocalizedMessage() ); + mLog.error( "R820T Tuner Controller - couldn't apply VGA " + + "gain setting", e ); } } } ); @@ -575,9 +580,8 @@ public class R820TTunerConfigurationPanel extends JPanel + "apply the tuner configuration settings - " + e1.getLocalizedMessage() ); - Log.error( "R820T Tuner Controller - couldn't apply " - + "config [" + config.getName() + "] - " + - e1.getLocalizedMessage() ); + mLog.error( "R820T Tuner Controller - couldn't apply " + + "config [" + config.getName() + "]", e1 ); } } diff --git a/src/source/tuner/rtl/r820t/R820TTunerController.java b/src/source/tuner/rtl/r820t/R820TTunerController.java index 146ea7e0..e4852814 100644 --- a/src/source/tuner/rtl/r820t/R820TTunerController.java +++ b/src/source/tuner/rtl/r820t/R820TTunerController.java @@ -25,7 +25,9 @@ package source.tuner.rtl.r820t; import javax.swing.JPanel; import javax.usb.UsbException; -import log.Log; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import source.SourceException; import source.tuner.TunerConfiguration; import source.tuner.TunerType; @@ -35,6 +37,9 @@ import controller.ResourceManager; public class R820TTunerController extends RTL2832TunerController { + private final static Logger mLog = + LoggerFactory.getLogger( R820TTunerController.class ); + public static final long MIN_FREQUENCY = 3180000; public static final long MAX_FREQUENCY = 1782030000; public static final int R820T_IF_FREQUENCY = 3570000; @@ -236,33 +241,32 @@ public class R820TTunerController extends RTL2832TunerController { try { - Log.debug( "R820T Tuner Controller - testing USB interface" ); + mLog.debug( "testing USB interface" ); /* Dummy write to test USB interface */ writeRegister( mUSBDevice, Block.USB, Address.USB_SYSCTL.getAddress(), (short)0x09, 1 ); - Log.debug( "R820T Tuner Controller - initializing RTL2832 tuner baseband" ); + mLog.debug( "initializing RTL2832 tuner baseband" ); initBaseband( mUSBDevice ); - Log.debug( "R820T Tuner Controller - enabling I2C repeater" ); + mLog.debug( "enabling I2C repeater" ); enableI2CRepeater( mUSBDevice, true ); boolean i2CRepeaterControl = false; - Log.debug( "R820T Tuner Controller - initializing R820T tuner" ); + mLog.debug( "initializing R820T tuner" ); initTuner( i2CRepeaterControl ); - Log.debug( "R820T Tuner Controller - disabling I2C repeater" ); + mLog.debug( "disabling I2C repeater" ); enableI2CRepeater( mUSBDevice, false ); - Log.debug( "R820T Tuner Controller - initializing RTL tuner controller super class" ); + mLog.debug( "initializing RTL2832 tuner controller super class" ); /* Initialize the super class */ super.init(); } catch( UsbException e ) { - throw new SourceException( "R820T Tuner Controller - error during " - + "init()", e ); + throw new SourceException( "error during init()", e ); } } @@ -345,7 +349,8 @@ public class R820TTunerController extends RTL2832TunerController if( !calibrationSuccessful( calibrationCode ) ) { - Log.error( "Calibration NOT successful!!" ); + mLog.error( "Calibration NOT successful - code: " + + calibrationCode ); } } @@ -354,14 +359,11 @@ public class R820TTunerController extends RTL2832TunerController calibrationCode = 0; } - Log.debug( "Calibration Code is:" + calibrationCode ); - /* Write calibration code */ byte filt_q = 0x10; - calibrationCode = calibrationCode | filt_q; writeR820TRegister( Register.FILTER_CALIBRATION_CODE, - (byte)calibrationCode, controlI2C ); + (byte)( calibrationCode | filt_q ), controlI2C ); /* Set BW, Filter gain & HP Corner */ writeR820TRegister( Register.BANDWIDTH_FILTER_GAIN_HIGHPASS_FILTER_CORNER, diff --git a/src/source/tuner/rtl/r820t/R820TTunerEditorPanel.java b/src/source/tuner/rtl/r820t/R820TTunerEditorPanel.java index 334f6e02..5b6425e2 100644 --- a/src/source/tuner/rtl/r820t/R820TTunerEditorPanel.java +++ b/src/source/tuner/rtl/r820t/R820TTunerEditorPanel.java @@ -22,23 +22,28 @@ import gui.control.JFrequencyControl; import java.awt.Color; import java.awt.EventQueue; -import javax.swing.BorderFactory; import javax.swing.JLabel; import javax.swing.JPanel; -import com.jidesoft.swing.JideTabbedPane; - -import log.Log; import net.miginfocom.swing.MigLayout; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import source.SourceException; import source.tuner.FrequencyChangeListener; import source.tuner.rtl.RTL2832InfoPanel; -import source.tuner.rtl.e4k.E4KTunerConfigurationPanel; + +import com.jidesoft.swing.JideTabbedPane; + import controller.ResourceManager; public class R820TTunerEditorPanel extends JPanel implements FrequencyChangeListener { - private static final long serialVersionUID = 1L; + private final static Logger mLog = + LoggerFactory.getLogger( R820TTunerEditorPanel.class ); + + private static final long serialVersionUID = 1L; private R820TTunerController mController; private ResourceManager mResourceManager; @@ -101,8 +106,8 @@ public class R820TTunerEditorPanel extends JPanel implements FrequencyChangeList } catch ( SourceException e ) { - Log.error( "R820T Tuner Controller - error setting frequency [" + - frequency + "] - " + e.getLocalizedMessage() ); + mLog.error( "R820T Tuner Controller - error setting frequency [" + + frequency + "]", e ); } } } ); diff --git a/src/spectrum/DFTProcessor.java b/src/spectrum/DFTProcessor.java index 9d47d1fa..bc68d882 100644 --- a/src/spectrum/DFTProcessor.java +++ b/src/spectrum/DFTProcessor.java @@ -26,9 +26,9 @@ import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicBoolean; -import log.Log; - import org.jtransforms.fft.FloatFFT_1D; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import sample.Listener; import source.Source; @@ -45,6 +45,9 @@ import dsp.filter.Window.WindowType; public class DFTProcessor implements Listener, FrequencyChangeListener { + private final static Logger mLog = + LoggerFactory.getLogger( DFTProcessor.class ); + private CopyOnWriteArrayList mListeners = new CopyOnWriteArrayList(); @@ -198,8 +201,8 @@ public class DFTProcessor implements Listener, } catch ( InterruptedException e ) { - Log.error( "DFTProcessor - exception while awaiting shutdown of " - + "calculation scheduler for reset" ); + mLog.error( "DFTProcessor - exception while awaiting shutdown of " + + "calculation scheduler for reset", e ); } } @@ -222,7 +225,7 @@ public class DFTProcessor implements Listener, { if( !mQueue.offer( samples ) ) { - Log.error( "DFTProcessor - [" + mSampleType.toString() + mLog.error( "DFTProcessor - [" + mSampleType.toString() + "]queue is full, purging queue, " + "samples[" + samples + "]" ); diff --git a/src/spectrum/SpectralDisplayPanel.java b/src/spectrum/SpectralDisplayPanel.java index 1987a3c9..93e4c8d7 100644 --- a/src/spectrum/SpectralDisplayPanel.java +++ b/src/spectrum/SpectralDisplayPanel.java @@ -29,7 +29,6 @@ import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.awt.event.MouseMotionListener; import java.text.DecimalFormat; -import java.text.Format; import java.util.ArrayList; import javax.swing.JCheckBoxMenuItem; @@ -42,8 +41,11 @@ import javax.swing.JSeparator; import javax.swing.JSplitPane; import javax.swing.SwingUtilities; -import log.Log; import net.miginfocom.swing.MigLayout; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import sample.Listener; import settings.ColorSetting; import settings.ColorSetting.ColorSettingName; @@ -90,6 +92,9 @@ public class SpectralDisplayPanel extends JPanel TunerSelectionListener { private static final long serialVersionUID = 1L; + private final static Logger mLog = + LoggerFactory.getLogger( SpectralDisplayPanel.class ); + private static DecimalFormat sCURSOR_FORMAT = new DecimalFormat( "000.00000" ); /** @@ -384,8 +389,8 @@ public class SpectralDisplayPanel extends JPanel } catch ( SourceException e ) { - Log.info( "DFTProcessor - exception during new tuner setup - " - + "couldn't get frequency from the tuner" ); + mLog.info( "DFTProcessor - exception during new tuner setup - " + + "couldn't get frequency from the tuner", e ); } } } diff --git a/src/spectrum/SpectrumPanel.java b/src/spectrum/SpectrumPanel.java index 7f30fd1b..f757db15 100644 --- a/src/spectrum/SpectrumPanel.java +++ b/src/spectrum/SpectrumPanel.java @@ -29,7 +29,9 @@ import java.awt.geom.Line2D; import javax.swing.JPanel; -import log.Log; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import settings.ColorSetting; import settings.ColorSetting.ColorSettingName; import settings.IntegerSetting; @@ -45,7 +47,9 @@ public class SpectrumPanel extends JPanel SpectralDisplayAdjuster { private static final long serialVersionUID = 1L; - + private final static Logger mLog = + LoggerFactory.getLogger( SpectrumPanel.class ); + /* Set display bins size to 1, so that we're guaranteed a reset to the * correct width once the first sample set arrives */ private float[] mDisplayFFTBins = new float[ 1 ]; diff --git a/src/util/waveaudio/WaveWriter.java b/src/util/waveaudio/WaveWriter.java index 0d49f9c0..2b09bdc4 100644 --- a/src/util/waveaudio/WaveWriter.java +++ b/src/util/waveaudio/WaveWriter.java @@ -25,10 +25,13 @@ import java.nio.ByteBuffer; import javax.sound.sampled.AudioFormat; -import log.Log; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public class WaveWriter { + private final static Logger mLog = LoggerFactory.getLogger( WaveWriter.class ); + private static final int sTOTAL_BYTE_LIMIT = Integer.MAX_VALUE; private BufferedOutputStream mOutputStream; private boolean mRunning = false; @@ -128,8 +131,7 @@ public class WaveWriter raf.seek( 40 ); raf.write( newDataSize ); - //debug - Log.info( "Closing recording [" + mFileName + "] amending file byte size to:" + newByteCount ); + mLog.info( "Closing recording [" + mFileName + "] amending file byte size to:" + newByteCount ); raf.close(); }