Exemple #1
0
        private static void SendWithLoggerLevel()
        {
            LoggerFactory loggerFactory = new LoggerFactory();
            string        log4netPath   = System.IO.Path.Combine(AppContext.BaseDirectory, "log4net.config");

            loggerFactory.AddLog4Net((loggername, level) =>
            {
                if (loggername == "hello")
                {
                    return(false);
                }

                return(true);
            }, log4netPath);

            loggerFactory.AddFirebug(new FirebugConfig
            {
                Frequency = 2,
                Fitler    = (c, l) =>
                {
                    if (l == LogLevel.Error || l == LogLevel.Critical)
                    {
                        return(true);
                    }

                    if (c == "hello")
                    {
                        return(true);
                    }

                    return(false);
                },
                FireAction = (l, c) =>
                {
                    Console.WriteLine($"[{l}]   {c}");
                }
            });


            //normal
            //ilogger ...
            ILogger logger = loggerFactory.CreateLogger(typeof(Program));

            logger.LogInformation("informat leve");
            logger.LogDebug("debug level");
            logger.LogError("Error level");

            for (int i = 0; i < 10000; i++)
            {
                Thread.Sleep(100);
                logger.LogError("error for testing:" + i);
            }

            try
            {
                throw new Exception("an exception error");
            }
            catch (Exception ex)
            {
                logger.LogError(ex.ToString());
            }

            //--access.
            ILogger accesslog = loggerFactory.CreateLogger("grpc.access");

            accesslog.LogDebug("{grpc access log}");

            //call
            ILogger calllog = loggerFactory.CreateLogger("grpc.call");

            calllog.LogDebug("grpc access log");

            ILogger helloLogger = loggerFactory.CreateLogger("hello");

            helloLogger.LogInformation("info mation from hellologger");
        }