Esempio n. 1
0
        static async Task Main(string[] args)
        {
            Environment.SetEnvironmentVariable("DOTNET_ENVIRONMENT", "Development");


            var host = Host.CreateDefaultBuilder()
                       .ConfigureServices(x =>
            {
            })
                       .ConfigureLogging(logging =>
            {
                logging.ClearProviders();

                logging.SetMinimumLevel(LogLevel.Trace);

                logging.AddZLoggerConsole(options =>
                {
                    options.EnableStructuredLogging = true;
                    options.FlushRate = TimeSpan.FromSeconds(5);
                });
            })
                       .UseConsoleAppFramework <Program>(args)
                       .Build();

            GlobalLogger.SetServiceProvider(host.Services.GetRequiredService <ILoggerFactory>(), "MyApp");

            await host.RunAsync();
        }
Esempio n. 2
0
        static async Task Main(string[] args)
        {
            Environment.SetEnvironmentVariable("DOTNET_ENVIRONMENT", "Development");


            var host = Host.CreateDefaultBuilder()
                       .ConfigureServices(x =>
            {
            })
                       .ConfigureLogging(logging =>
            {
                logging.ClearProviders();

                logging.SetMinimumLevel(LogLevel.Trace);

                logging.AddZLoggerConsole(options =>
                {
                    options.EnableStructuredLogging = false;
                    //options.FlushRate = TimeSpan.FromSeconds(5);

#if DEBUG
                    // \u001b[31m => Red(ANSI Escape Code)
                    // \u001b[0m => Reset
                    // \u001b[38;5;***m => 256 Colors(08 is Gray)
                    options.PrefixFormatter = (writer, info) =>
                    {
                        if (info.LogLevel == LogLevel.Error)
                        {
                            ZString.Utf8Format(writer, "\u001b[31m[{0}]", info.LogLevel);
                        }
                        else
                        {
                            if (!info.CategoryName.StartsWith("MyApp"))     // your application namespace.
                            {
                                ZString.Utf8Format(writer, "\u001b[38;5;08m[{0}]", info.LogLevel);
                            }
                            else
                            {
                                ZString.Utf8Format(writer, "[{0}]", info.LogLevel);
                            }
                        }
                    };
                    options.SuffixFormatter = (writer, info) =>
                    {
                        if (info.LogLevel == LogLevel.Error || !info.CategoryName.StartsWith("MyApp"))
                        {
                            ZString.Utf8Format(writer, "\u001b[0m", "");
                        }
                    };
#endif
                }, configureEnableAnsiEscapeCode: true);
            })
                       .UseConsoleAppFramework <Program>(args)
                       .Build();

            GlobalLogger.SetServiceProvider(host.Services.GetRequiredService <ILoggerFactory>(), "MyApp");

            await host.RunAsync();
        }
Esempio n. 3
0
        static async Task Main(string[] args)
        {
            var host = Host.CreateDefaultBuilder()
                       .ConfigureServices(x =>
            {
            })
                       .ConfigureLogging(logging =>
            {
                logging.ClearProviders();

                // logging.SetMinimumLevel(LogLevel.Trace);

                logging.AddZLoggerConsole(options =>
                {
                    options.EnableStructuredLogging = true;
                });
            })
                       .UseConsoleAppFramework <Program>(args)
                       .Build();

            GlobalLogger.SetServiceProvider(host.Services.GetRequiredService <ILoggerFactory>(), "MyApp");

            await host.RunAsync();
        }
Esempio n. 4
0
        static async Task Main(string[] args)
        {
            var host = Host.CreateDefaultBuilder()
                       .ConfigureLogging(logging =>
            {
                logging.ClearProviders();

                // optional(MS.E.Logging): default is Info, you can use this or AddFilter to filtering log.
                logging.SetMinimumLevel(LogLevel.Trace);

                //    .AddZLoggerConsole(configure =>
                //    {
                //        configure.IsStructuredLogging = true;
                //    });


                // logging.AddFilter(



                logging.AddFilter <ZLoggerConsoleLoggerProvider>(level => level == LogLevel.Information);
                logging.AddFilter <ZLoggerFileLoggerProvider>(level => level == LogLevel.Trace);



                //logging.AddFilter<ZLoggerFileLoggerProvider>(



                //logging.AddFilter<ZLoggerConsoleLoggerProvider>(x => true).AddZLoggerConsole();

                //logging.AddFilter<SimpleConsoleLoggerProvider>(x => x == LogLevel.Debug).AddSimpleConsole();

                //logging.AddFilter((category, level) =>
                //    {
                //        if (category == "Microsoft.Extensions.Hosting.Internal.Host") return true;
                //        return false;
                //    })
                //    .AddZLoggerConsole();


                //logging.AddFilter((category, level) =>
                //{
                //    if (category != "Microsoft.Extensions.Hosting.Internal.Host") return true;
                //    return false;
                //})
                //       .AddConsole();


                /*
                 * logging.AddZLoggerRollingFile((dt, x) => $"logs/{dt.ToLocalTime():yyyy-MM-dd_HH-mm-ss}_{x:000}.log",
                 *  x => { var time = x.ToLocalTime(); return new DateTimeOffset(time.Year, time.Month, time.Day, 0, 0, 0, time.Second, TimeSpan.Zero); },
                 *  1024);
                 */

                // logging.ReplaceToSimpleConsole();

                //logging.AddZLoggerRollingFile((dt, x) => $"logs/{dt.ToLocalTime():yyyy-MM-dd}_{x:000}.log", x => x.ToLocalTime().Date, 1024 * 1024);


                //logging.AddZLoggerLogProcessor(new Processor());


                //logging.AddZLoggerFile("filelog.log");

                //logging.AddZLoggerConsole();
                //logging.AddZLoggerFile("foo.log");


                //logging.AddZLoggerConsole(x =>
                //{
                //    //x.PrefixFormatter = (writer, info) =>
                //    //{
                //    //    ZString.Utf8Format(writer, "[{0}]", info.LogLevel);
                //    //};

                //    //Utf16PreparedFormat

                //    // x.IsStructuredLogging = true;

                //    //x.SuffixFormatter = (writer, info) => prepared.FormatTo(ref writer, info.LogLevel);
                //});

                var socket = new Socket(SocketType.Stream, ProtocolType.Tcp);
                socket.Connect("127.0.0.1", 12345);
                var network = new NetworkStream(socket);

                logging.AddZLoggerStream(network);



                var gitHash = Guid.NewGuid().ToString();


                logging.AddZLoggerConsole(options =>
                {
                    options.EnableStructuredLogging = true;

                    var gitHashName  = JsonEncodedText.Encode("GitHash");
                    var gitHashValue = JsonEncodedText.Encode(gitHash);

                    options.StructuredLoggingFormatter = (writer, info) =>
                    {
                        writer.WriteString(gitHashName, gitHashValue);
                        info.WriteToJsonWriter(writer);
                    };
                });

                logging.AddZLoggerRollingFile((dt, x) => $"logs/{dt.ToLocalTime():yyyy-MM-dd}_{x:000}.log", x => x.ToLocalTime().Date, 1024);
            })
                       .UseConsoleAppFramework <Program>(args)
                       .Build();

            GlobalLogger.SetServiceProvider(host.Services.GetRequiredService <ILoggerFactory>(), "MyApp");

            await host.RunAsync();
        }