11using MediaSorter . Models ;
22using MediaSorter . Services . Interfaces ;
33using MediaSorter . Utils ;
4+ using Microsoft . Extensions . Logging ;
45using System . Reflection ;
56using System . Text ;
67
@@ -14,6 +15,7 @@ public class App
1415 private readonly IDateParser _dateParser ;
1516 private readonly IDirectoryProvider _directoryProvider ;
1617 private readonly IFileSorter _fileSorter ;
18+ private readonly ILogger < App > _logger ;
1719 private readonly IMediaScanner _mediaScanner ;
1820 private readonly IMetadataProvider _metadataProvider ;
1921 private readonly string _version = Assembly . GetExecutingAssembly ( ) ? . GetName ( ) ? . Version ? . ToString ( ) ?? "X.X.X.X" ;
@@ -22,12 +24,14 @@ public App(
2224 IDateParser dateParser ,
2325 IDirectoryProvider directoryProvider ,
2426 IFileSorter fileSorter ,
27+ ILogger < App > logger ,
2528 IMediaScanner mediaScanner ,
2629 IMetadataProvider metadataProvider )
2730 {
2831 _dateParser = dateParser ;
2932 _directoryProvider = directoryProvider ;
3033 _fileSorter = fileSorter ;
34+ _logger = logger ;
3135 _metadataProvider = metadataProvider ;
3236 _mediaScanner = mediaScanner ;
3337 }
@@ -58,9 +62,11 @@ public void Run(string[] args)
5862
5963 var mediaWithDatesTaken = ParseMediaDatesTaken ( mediaWithMetadata ) ;
6064 SortMediaFiles ( outputDirectory , mediaWithDatesTaken ) ;
65+ _logger . LogDebug ( "Done sorting {count} files." , mediaWithDatesTaken . Count ( ) ) ;
6166 }
6267 catch ( Exception ex )
6368 {
69+ _logger . LogError ( ex . ToString ( ) ) ;
6470 CliUtils . DisplayMessageWithColor ( $ "An error occurred: { ex . Message } ", ConsoleColor . Red ) ;
6571 CliUtils . DisplayMessageAndExit ( "Exiting..." , ConsoleColor . Red , 1 ) ;
6672 }
@@ -72,7 +78,9 @@ private IEnumerable<string> GetMediaPaths(string sourceDirectory)
7278 var mediaPaths = _mediaScanner . GetMediaInPath ( sourceDirectory ) ;
7379 if ( ! mediaPaths . Any ( ) )
7480 CliUtils . DisplayMessageAndExit ( "No media files were found. Exiting..." , ConsoleColor . Yellow , 0 ) ;
81+
7582 Console . WriteLine ( "Found {0} media files." , mediaPaths . Count ( ) ) ;
83+ _logger . LogDebug ( "Found {count} media file(s) to sort." , mediaPaths . Count ( ) ) ;
7684
7785 return mediaPaths ;
7886 }
@@ -83,6 +91,8 @@ private string GetOutputDirectory()
8391 if ( outputDirectory is null )
8492 CliUtils . DisplayMessageAndExit ( "Exiting..." , ConsoleColor . Yellow , 0 ) ;
8593
94+ _logger . LogDebug ( "Output Directory: \" {directory}\" " , outputDirectory ) ;
95+
8696 return outputDirectory ;
8797 }
8898
@@ -92,6 +102,8 @@ private string GetSourceDirectory()
92102 if ( sourceDirectory is null )
93103 CliUtils . DisplayMessageAndExit ( "Exiting..." , ConsoleColor . Yellow , 0 ) ;
94104
105+ _logger . LogDebug ( "Source Directory: \" {directory}\" " , sourceDirectory ) ;
106+
95107 return sourceDirectory ;
96108 }
97109
0 commit comments