RadicalFx / Radical.Windows

Radical is an infrastructure framework whose primary role is to help in the development of composite WPF applications based on the Model View ViewModel pattern.
http://www.radicalframework.com/
MIT License
3 stars 2 forks source link

Info - Utilizzo Serilog #398

Closed Aurelio67 closed 2 years ago

Aurelio67 commented 2 years ago

Buongiorno Mauro, ti volevo chiedere una info: è possibile utilizzare Serilog con Radical in .NET6 ?

sono riuscito a utilizzare Automapper sfruttando il ConfigureServices, ma non riesco a farlo per dire a ILogger di utilizzare Serilog.

 configuration.ConfigureServices(configuration =>
            {
                configuration.AddAutoMapper(configuration =>
                {
                    configuration.CreateMap<ArticoliViewMapper, ANAARTICO>();
                    configuration.CreateMap<ANAARTICO, ArticoliViewMapper>().ForMember(r => r.ArtCod, d => d.MapFrom(r => r.ArtCod.ToLower()));
                });

                configuration.AddLogging(configuration =>
                {
                    //Dovrei settare queste impostazioni ma non riesco non so proprio come fare.
                    ILogger Logger = new LoggerConfiguration()
                    .MinimumLevel.Override("Microsoft", Serilog.Events.LogEventLevel.Warning)
                    .MinimumLevel.Override("System", Serilog.Events.LogEventLevel.Warning)
                    .MinimumLevel.Information()
                    .Enrich.FromLogContext()
                    .WriteTo.File(path: "Logs\\AppLogs.log",
                                  rollingInterval: RollingInterval.Day,
                                  fileSizeLimitBytes: 10240,
                                  rollOnFileSizeLimit: true,
                                  retainedFileCountLimit: 100,
                                  outputTemplate: "[{Timestamp:dd:MM:yyyy HH:mm:ss} {Level:u3}] {Message:lj} {SourceContext}>{NewLine}{Exception}")
                    .CreateLogger();

                });

            }); 

Ho provato a fare AddLogging ma non penso sia proprio la cosa esatta.. Automapper funziona alla grande.

Grazie 1000

Aurelio

Aurelio67 commented 2 years ago

Maremma..dovrei esserci riuscito !!!

public App()
    {
        var host = new HostBuilder()
                .UseSerilog((hostingContext, loggerConfiguration) =>
                {
                    //Leggo la configurazione dal file appsettings.json
                    loggerConfiguration.ReadFrom.Configuration(hostingContext.Configuration);
                })
                .ConfigureAppConfiguration((webHostBuilderContext, configurationbuilder) =>
                {
                    IHostEnvironment env = webHostBuilderContext.HostingEnvironment;
                    configurationbuilder.SetBasePath(env.ContentRootPath);
                    configurationbuilder.AddJsonFile("appsettings.json", false, true);
                    configurationbuilder.AddJsonFile("prenotazionisettings.json", false, true);
                    configurationbuilder.AddJsonFile("connectionstrings.json", false, true);
                })
                .AddRadicalApplication<MainView>()
                .Build();

        Startup += async (s, e) => await host.StartAsync();

        Exit += async (s, e) =>
        {
            using (host)
            {
                await host?.StopAsync();
            }
        };
    }

Grazie 1000

PS)Se vuoi elimina pure il post

Aurelio

mauroservienti commented 2 years ago

Non ho mai usato Serilog in WPF, ma credo che l'unica, come hai fatto, sia usare l'host builder.

Aurelio67 commented 2 years ago

Si difatti con quello sopra funziona tutto a meraviglia !!! grazie come sempre..

PS) Sto seguendo le vostre discussioni su yuotube che sono sempre molto interessanti, non è che avresti in cantiere qualche video su radical ? 🥇

Grazie 1000 come sempre

mauroservienti commented 2 years ago

PS) Sto seguendo le vostre discussioni su yuotube che sono sempre molto interessanti

Grazie!

non è che avresti in cantiere qualche video su radical ?

Sarebbe bello. Ci sono argomenti che ti interesserebbero in particolare?

Aurelio67 commented 2 years ago

Buongiorno Mauro, se reabbe possibile mi interesserebbe parecchio il discorso Applicazione Modulare, cioè per esempio in un applicazione Magazzino apro la scheda clienti e in una region se presente in modulo contabilità visualizzo le parti interessare alla contabilità, oppure un problema che ho riscontrato ma che poi mi sono un po' arreso: Anagrafica clienti: una parte di campi è inerente alle info del magazzino e una parte alle info contabilità, entro nella scheda di un cliente e avendo entrambi i moduli dovrei modificare le info da entrambe le parti solo che una parte sta nella region della contabilità e non so' come fare per poi salvare il tutto a db...

Cmq sappi che sarei felicissimo per qualsiasi argomento trattato inerente a radical :)

PS) dico sicuramente un eresia, ma si può usare radical nel web ? (azzolina ora mai gli sviluppatori desktop sembrano avere vita breve...ora pure la macchina del caffè funziona con il cellulare, tra un po' anche per tirare lo sciaquone ci vorrà il cellulare con qualche social attivo !!!!! maremma santa non sono social :)

Grazie 1000

Aurelio

mauroservienti commented 2 years ago

Allora, video la vedo dura perché ci vuole un sacco di lavoro e diventano obsoleti con una facilità incredibile. E quando sono obsoleti li devi buttare e rifare.

Quello che si potrebbe fare più "agilmente", nel limite delle mie possibilità e magari con l'aiuto di @nazarenom e @ucollina82, è costruire un esempio insieme con documentazione annessa.

PS) dico sicuramente un eresia, ma si può usare radical nel web ? (azzolina ora mai gli sviluppatori desktop sembrano avere vita breve...ora pure la macchina del caffè funziona con il cellulare, tra un po' anche per tirare lo sciaquone ci vorrà il cellulare con qualche social attivo !!!!! maremma santa non sono social :)

😄

La risposta semplice è no. Se avessi tempo (e voglia devo ammetterlo) dovrei spendere un po' di tempo per capire cosa si può fare con Blazor. Se invece avessi voglia tu... 😜

Aurelio67 commented 2 years ago

IN effetti i video è vero diventano obsoleti velocemente e se non erro l'avete anche detto nelle vostre "chiacchierate" riguardo la documentazione...

Per quanto riguarda il web: "La risposta semplice è no....".. direi che già detto tutto in 5 parole... lasciamo il web agli sviluppatori web :) che noi amanti del desktop continueremo con WPF MVVM e Radical...fino alla fine dei tempi che visto quello che stà accadendo la cosa è assai preoccupante.

Grazie 1000 come sempre