mirror of
				https://github.com/nsnail/spectre.console.git
				synced 2025-11-04 18:40:50 +08:00 
			
		
		
		
	Use file scoped namespace declarations
This commit is contained in:
		
				
					committed by
					
						
						Phil Scott
					
				
			
			
				
	
			
			
			
						parent
						
							1dbaf50935
						
					
				
				
					commit
					ec1188b837
				
			@@ -12,42 +12,41 @@ using Spectre.Console.Cli;
 | 
			
		||||
 * Spectre.Console CommandInterceptor
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
namespace Spectre.Console.Examples
 | 
			
		||||
namespace Spectre.Console.Examples;
 | 
			
		||||
 | 
			
		||||
public class Program
 | 
			
		||||
{
 | 
			
		||||
    public class Program
 | 
			
		||||
    static int Main(string[] args)
 | 
			
		||||
    {
 | 
			
		||||
        static int Main(string[] args)
 | 
			
		||||
        // to retrieve the log file name, we must first parse the command settings
 | 
			
		||||
        // this will require us to delay setting the file path for the file writer.
 | 
			
		||||
        // With serilog we can use an enricher and Serilog.Sinks.Map to dynamically
 | 
			
		||||
        // pull this setting.
 | 
			
		||||
        var serviceCollection = new ServiceCollection()
 | 
			
		||||
            .AddLogging(configure =>
 | 
			
		||||
                configure.AddSerilog(new LoggerConfiguration()
 | 
			
		||||
                    // log level will be dynamically be controlled by our log interceptor upon running
 | 
			
		||||
                    .MinimumLevel.ControlledBy(LogInterceptor.LogLevel)
 | 
			
		||||
                    // the log enricher will add a new property with the log file path from the settings
 | 
			
		||||
                    // that we can use to set the path dynamically
 | 
			
		||||
                    .Enrich.With<LoggingEnricher>()
 | 
			
		||||
                    // serilog.sinks.map will defer the configuration of the sink to be ondemand
 | 
			
		||||
                    // allowing us to look at the properties set by the enricher to set the path appropriately
 | 
			
		||||
                    .WriteTo.Map(LoggingEnricher.LogFilePathPropertyName,
 | 
			
		||||
                        (logFilePath, wt) => wt.File($"{logFilePath}"), 1)
 | 
			
		||||
                    .CreateLogger()
 | 
			
		||||
                )
 | 
			
		||||
            );
 | 
			
		||||
 | 
			
		||||
        var registrar = new TypeRegistrar(serviceCollection);
 | 
			
		||||
        var app = new CommandApp(registrar);
 | 
			
		||||
 | 
			
		||||
        app.Configure(config =>
 | 
			
		||||
        {
 | 
			
		||||
            // to retrieve the log file name, we must first parse the command settings
 | 
			
		||||
            // this will require us to delay setting the file path for the file writer.
 | 
			
		||||
            // With serilog we can use an enricher and Serilog.Sinks.Map to dynamically
 | 
			
		||||
            // pull this setting.
 | 
			
		||||
            var serviceCollection = new ServiceCollection()
 | 
			
		||||
                .AddLogging(configure =>
 | 
			
		||||
                    configure.AddSerilog(new LoggerConfiguration()
 | 
			
		||||
                        // log level will be dynamically be controlled by our log interceptor upon running
 | 
			
		||||
                        .MinimumLevel.ControlledBy(LogInterceptor.LogLevel)
 | 
			
		||||
                        // the log enricher will add a new property with the log file path from the settings
 | 
			
		||||
                        // that we can use to set the path dynamically
 | 
			
		||||
                        .Enrich.With<LoggingEnricher>()
 | 
			
		||||
                        // serilog.sinks.map will defer the configuration of the sink to be ondemand
 | 
			
		||||
                        // allowing us to look at the properties set by the enricher to set the path appropriately
 | 
			
		||||
                        .WriteTo.Map(LoggingEnricher.LogFilePathPropertyName,
 | 
			
		||||
                            (logFilePath, wt) => wt.File($"{logFilePath}"), 1)
 | 
			
		||||
                        .CreateLogger()
 | 
			
		||||
                    )
 | 
			
		||||
                );
 | 
			
		||||
 | 
			
		||||
            var registrar = new TypeRegistrar(serviceCollection);
 | 
			
		||||
            var app = new CommandApp(registrar);
 | 
			
		||||
 | 
			
		||||
            app.Configure(config =>
 | 
			
		||||
            {
 | 
			
		||||
                config.SetInterceptor(new LogInterceptor()); // add the interceptor
 | 
			
		||||
            config.SetInterceptor(new LogInterceptor()); // add the interceptor
 | 
			
		||||
                config.AddCommand<HelloCommand>("hello");
 | 
			
		||||
            });
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
            return app.Run(args);
 | 
			
		||||
        }
 | 
			
		||||
        return app.Run(args);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user